Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:onielsen:Virtualization:Testing
opennebula
opennebula.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File opennebula.spec of Package opennebula
# # spec file for package opennebula (Version 5.10.1) # this code base is under development # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: opennebula Version: 5.10.1 Release: 0 License: Apache-2.0 Summary: Elastic Utility Computing Architecture URL: http://www.opennebula.org Group: Productivity/Networking/System Source0: %{name}-%{version}.tar.bz2 #Source1: sunstone.init #Source2: onegate.init #Source3: oneflow.init #Source4: occi.init #Source5: econe.init Source6: java-oca-%{version}.tar.bz2 #Source8: onetmpdirs Source98: Gemfile.lock Source99: %{name}-rpmlintrc # From here populated by obs-service-bundle_gems ### GEMS START ### GEMS END Patch1: openneb_LSBhead_one.patch # PATCH-FIX-OPENSUSE fix-for-opensuse-systemd.patch -- Fix systemd service files #Patch2: fix-for-opensuse-systemd.patch # PATCH-FEATURE-UPSTREAM feature-for-upstream-susestudio_downloader.patch -- Unarchive, convert and resize images #Patch3: feature-for-upstream-susestudio_downloader.patch # PATCH-FIX-UPSTREAM fix-for-upstream-onedsetup_sleep.patch -- be more patient with onedb database initialization Patch4: fix-for-upstream-onedsetup_sleep.patch # Do not use fdupes! # When using fdupes users are required to install ozone even if they # do not use a zone setup # PATCH-FIX-UPSTREAM 0001-Port-build-scripts-to-Python3.patch -- https://github.com/OpenNebula/one/issues/3584 Patch5: 0001-Port-build-scripts-to-Python3.patch BuildRequires: gcc-c++ BuildRequires: java-devel BuildRequires: libcurl-devel BuildRequires: libxml2-devel BuildRequires: libxmlrpc-c-devel >= 1.06 BuildRequires: libopenssl-devel >= 0.9 BuildRequires: mysql-devel BuildRequires: openssh BuildRequires: pkg-config BuildRequires: post-build-checks BuildRequires: pwgen BuildRequires: ruby-devel >= 1.8.6 BuildRequires: scons >= 0.97 BuildRequires: sqlite3-devel >= 3.5.2 #BuildRequires: xmlrpc-c >= 1.06 BuildRequires: systemd BuildRequires: systemd-devel BuildRequires: python2 BuildRequires: %{python_module setuptools} BuildRequires: LibVNCServer-devel BuildRequires: libjpeg-devel BuildRequires: python-rpm-macros BuildRequires: libnsl-devel BuildRequires: libxslt-devel BuildRequires: rubygem(%{rb_default_ruby_abi}:bundler) BuildRequires: golang-packaging BuildRequires: nodejs %{?nodejs_requires} Requires: openssh Requires: openssl >= 0.9 Requires: pwgen Requires: ruby >= 1.8.6 Requires: rubygem(%{rb_default_ruby_abi}:nokogiri) Requires: rubygem(%{rb_default_ruby_abi}:rack) Requires: rubygem(%{rb_default_ruby_abi}:sqlite3) Requires: rubygem(%{rb_default_ruby_abi}:json) Requires: rubygem(%{rb_default_ruby_abi}:treetop) >= 1.6.3 Requires: rubygem(%{rb_default_ruby_abi}:sequel) Requires: rubygem(%{rb_default_ruby_abi}:sinatra) Requires: rubygem(%{rb_default_ruby_abi}:thin) Requires: rubygem(%{rb_default_ruby_abi}:curb) Requires: rubygem(%{rb_default_ruby_abi}:uuidtools) #Requires: rubygem(#{rb_default_ruby_abi}:libxml-ruby) Requires: rubygem(%{rb_default_ruby_abi}:ox) Requires: sqlite3 >= 3.5.2 #Requires: xmlrpc-c >= 1.06 %{?systemd_requires} Recommends: mysql Recommends: nfs-kernel-server Recommends: rubygem(%{rb_default_ruby_abi}:amazon-ec2) Recommends: rubygem(%{rb_default_ruby_abi}:azure) Recommends: rubygem(%{rb_default_ruby_abi}:mysql) Recommends: rubygem(%{rb_default_ruby_abi}:configparser) Recommends: rubygem(%{rb_default_ruby_abi}:trollop) Recommends: rubygem(%{rb_default_ruby_abi}:parse-cron) Recommends: rubygem(%{rb_default_ruby_abi}:aws-sdk) > 2.5 Recommends: rubygem(%{rb_default_ruby_abi}:net-ldap) >= 1.14.0 Recommends: rubygem(%{rb_default_ruby_abi}:zendesk_api) < 1.14.0 Recommends: ypserv BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root %description OpenNebula.org is an open-source project aimed at building the industry standard open source cloud computing tool to manage the complexity and heterogeneity of distributed data center infrastructures. The OpenNebula.org Project is maintained and driven by the community. The OpenNebula.org community has thousands of users, contributors, and supporters, who interact through various online email lists, blogs and innovative projects to support each other. %package devel Summary: Development files for %{name} Group: Development/Libraries/Other Requires: %{name} = %{version} %description devel The %{name} devel package contains man pages and examples. %package sunstone Summary: Browser based UI to administer an OpenNebulaCloud Group: Productivity/Networking/System Requires: %{name} = %{version} Requires: rubygem(%{rb_default_ruby_abi}:json) Requires: rubygem(%{rb_default_ruby_abi}:nokogiri) Requires: rubygem(%{rb_default_ruby_abi}:rack) Requires: rubygem(%{rb_default_ruby_abi}:sequel) Requires: rubygem(%{rb_default_ruby_abi}:sinatra) Requires: rubygem(%{rb_default_ruby_abi}:thin) Requires: rubygem(%{rb_default_ruby_abi}:memcache-client) Requires: rubygem(%{rb_default_ruby_abi}:builder) Recommends: python-websockify Recommends: python-numpy %description sunstone sunstone if the web base UI to manage a deployed OpenNebula Cloud %package java Summary: OpenNebula Cloud API for Java Group: Productivity/Networking/System Requires: java %description java Java interface to the OpenNebula Cloud API %prep %setup -q -a 6 #patch1 #patch2 -p1 #patch3 -p1 #patch4 -p1 #patch5 -p1 # Enable VLAN support %{__perl} -pi -e 's|^(Cmnd_Alias ONE_NET = .*)|\1, /sbin/vconfig|g' share/pkgs/openSUSE/opennebula.sudoers # Fix systemd files %{__perl} -pi -e 's|!ConditionPathExists=|ConditionPathExists=!|g;s|!ConditionFileExists=|ConditionPathExists=!|g' share/pkgs/openSUSE/systemd/*.service # Prepare gem vendor cache cp %{S:98} share/install_gems/ mkdir -p share/install_gems/vendor/cache cp %{_sourcedir}/*.gem share/install_gems/vendor/cache/ # Fix Bundler version _BUNDLER=$(bundler --version | sed -E 's/.*([[:digit:]]+\.[[:digit:]]\.[[:digit:]])/\1/') sed -E -i '{N; s/(BUNDLED WITH)\n([[:blank:]]*)[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+/\1\n\2'"$_BUNDLER"'/ }' share/install_gems/Gemfile.lock # Remove junk find . -type f \( -name '*.*~' -o -name '*.swp' -o -name '*.bak' -o -name '.git*' \) -print0 | xargs -0 rm find . -type f -regextype posix-extended -regex ".*/\.(gitignore|gitmodules|bower\.json|travis\.yml|npmignore|scss-lint\.yml|babelrc|bowerrc|eslintrc)" -exec rm -f {} \; %build # Install gems in the vendor/cache pushd share/install_gems/ gem="gem.%{rb_default_ruby_suffix}" bundle="bundle.%{rb_default_ruby_suffix}" export GEM_HOME=$PWD/vendor GEM_PATH=$PWD/vendor PATH=$PWD/vendor/bin:$PATH #$gem install vendor/cache/bundle*.gem #$gem install --force --local $GEM_PATH/cache/*.gem $bundle config build.nokogiri --use-system-libraries $bundle --local --deployment --with production popd CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \ CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \ FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \ scons sunstone=no docker_machine=no systemd=yes svncterm=yes new_xmlrpc=yes sqlite_db=/usr xmlrpc=/usr mysql=yes %{?_smp_mflags} # Building java interface - https://github.com/OpenNebula/one/issues/1650 #cd src/oca/java #./build.sh -d %install export DESTDIR=%{buildroot} export NO_BRP_CHECK_BYTECODE_VERSION=true ./install.sh #install -p -D -m 755 share/pkgs/openSUSE/systemd/onedsetup %{buildroot}%{_sbindir}/onedsetup pushd share/pkgs/services/systemd mkdir -p %{buildroot}%{_sbindir} ls *.service | while read FILE; do SERVICE=$(echo ${FILE} | sed 's/\.service$//g'); install -p -D -m 644 ${FILE} %{buildroot}%{_unitdir}/${FILE} ln -s /usr/sbin/service %{buildroot}%{_sbindir}/rc${SERVICE} done popd pushd share/pkgs/tmpfiles ls *.conf | while read FILE; do install -p -D -m 644 ${FILE} %{buildroot}%{_tmpfilesdir}/${FILE} done popd pushd share/pkgs/logrotate ls * | while read FILE; do install -p -D -m 644 ${FILE} %{buildroot}%{_logrotatedir}/${FILE} done popd install -p -D -m 644 share/pkgs/sudoers/opennebula-node %{buildroot}%{_sysconfdir}/sudoers.d/opennebula-node install -p -D -m 644 share/pkgs/sudoers/opennebula-server %{buildroot}%{_sysconfdir}/sudoers.d/opennebula-server install -p -D -m 644 share/pkgs/sudoers/centos/opennebula %{buildroot}%{_sysconfdir}/sudoers.d/opennebula install -p -D -m 644 java-oca-5.10.1/jar/org.opennebula.client.jar %{buildroot}%{_javadir}/org.opennebula.client.jar install -p -D -m 644 share/scripts/bash_completion.d/one %{buildroot}%{_datadir}/bash-completion/completions/one # Gemfile install -p -D -m 644 share/install_gems/Gemfile.lock %{buildroot}/usr/share/one/Gemfile.lock # SUSE Studio support #install -p -D -m 644 src/datastore_mad/remotes/cp_susestudio.sh %{buildroot}%{_var}/lib/one/remotes/datastore/cp_susestudio.sh #install -p -D -m 755 src/datastore_mad/remotes/susestudio-downloader.sh %{buildroot}%{_var}/lib/one/remotes/datastore/susestudio-downloader.sh # Cleanup find %{buildroot}/usr/lib/one/sunstone/public/ -type f -regextype posix-extended -regex ".*/\.(gitignore|gitmodules|bower\.json|travis\.yml|npmignore|scss-lint\.yml|babelrc|bowerrc|eslintrc)" -exec rm -f {} \; rm -rf %{buildroot}/usr/lib/one/sunstone/public/bower_components/foundation-sites/.github %{buildroot}/usr/lib/one/sunstone/public/.jscsrc /usr/lib/one/sunstone/public/bower_components/jquery/src/.jshintrc rm -rf %{buildroot}/usr/share/docs/one/* %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root,-) %exclude /var/lib/one/sunstone %doc LICENSE NOTICE %config %{_sysconfdir}/one/auth %config %{_sysconfdir}/one/cli %config %{_sysconfdir}/one/defaultrc %config %{_sysconfdir}/one/ec2query_templates %config %{_sysconfdir}/one/econe.conf %config %{_sysconfdir}/one/hm %config %{_sysconfdir}/one/*_driver.conf %config %{_sysconfdir}/one/*_driver.default %config %{_sysconfdir}/one/oned.conf %config %{_sysconfdir}/one/oneflow-server.conf %config %{_sysconfdir}/one/onegate-server.conf %config %{_sysconfdir}/one/onehem-server.conf %config %{_sysconfdir}/one/sched.conf %config %{_sysconfdir}/one/vmm_* #config {_sysconfdir}/one/vmwarerc %{_tmpfilesdir}/*.conf %config %{_sysconfdir}/one/tmrc %{_bindir}/econe* %{_bindir}/on* %{_bindir}/mm_sched %{_bindir}/novnc-server #{_bindir}/tty_expect /usr/lib/one/mads/* /usr/lib/one/onegate/* /usr/lib/one/oneflow/* /usr/lib/one/onehem/* /usr/lib/one/oneprovision/* /usr/lib/one/ruby/* /usr/lib/one/sh/* #/usr/lib/one/sh/scripts_common.sh #/usr/share/one/tgt/* /usr/share/one/websockify/* /usr/share/one/oneprovision/* /var/lib/one/* %{_unitdir}/opennebula-econe.service %{_unitdir}/opennebula.service %{_unitdir}/opennebula-flow.service %{_unitdir}/opennebula-gate.service %{_unitdir}/opennebula-hem.service #{_sbindir}/onedsetup %{_unitdir}/opennebula-scheduler.service %{_sbindir}/rcopennebula-econe %{_sbindir}/rcopennebula %{_sbindir}/rcopennebula-scheduler %{_sbindir}/rcopennebula-flow %{_sbindir}/rcopennebula-gate %{_sbindir}/rcopennebula-hem %dir %{_sysconfdir}/one %dir /usr/lib/one %dir /usr/lib/one/mads %dir /usr/lib/one/oneflow %dir /usr/lib/one/onegate %dir /usr/lib/one/onehem %dir /usr/lib/one/ruby %dir /usr/lib/one/sh %dir /usr/lib/one/oneprovision %dir /usr/share/one %dir /usr/share/one/oneprovision %dir /usr/share/one/websockify %dir /var/lib/one %attr(755, oneadmin, cloud) %dir /var/log/one %dir %{_sysconfdir}/sudoers.d %config %{_sysconfdir}/sudoers.d/* %{_datadir}/bash-completion/completions/one /usr/share/one/Gemfile %{_datadir}/one/Gemfile.lock /usr/share/one/onetoken.sh #ghost /var/run/one #ghost /var/lock/one /usr/share/one/follower_cleanup %dir /usr/share/one/esx-fw-vnc /usr/share/one/esx-fw-vnc/fw-vnc* %files devel %defattr(-,root,root) %doc README.md %{_mandir}/man1/* %{_datadir}/one/install_* %{_datadir}/one/examples/* %dir %{_datadir}/one %dir %{_datadir}/one/examples %dir /usr/lib/one/sunstone/public/node_modules/node-sass/src /usr/lib/one/sunstone/public/node_modules/node-sass/src/* %dir /usr/lib/one/sunstone/public/node_modules/nan /usr/lib/one/sunstone/public/node_modules/nan/* #/usr/lib/one/sunstone/public/bower_components/no-vnc/utils/rebind.c /usr/lib/one/sunstone/public/node_modules/error/docs.mli %files sunstone %defattr(-,root,root,-) %config %{_sysconfdir}/one/sunstone* %exclude /usr/lib/one/sunstone/public/node_modules/node-sass/src %exclude /usr/lib/one/sunstone/public/node_modules/nan #exclude /usr/lib/one/sunstone/public/bower_components/no-vnc/utils/rebind.c %exclude /usr/lib/one/sunstone/public/node_modules/error/docs.mli %{_unitdir}/opennebula-sunstone.service %{_unitdir}/opennebula-novnc.service %{_sbindir}/rcopennebula-sunstone %{_sbindir}/rcopennebula-novnc %{_bindir}/sunstone-server %dir /var/lib/one/sunstone/ /var/lib/one/sunstone/* #defattr(644, root, root,755) %dir /usr/lib/one/sunstone /usr/lib/one/sunstone/* %files java %defattr(-,root,root) %{_javadir}/org.opennebula.client.jar %pre # cloud administrator setup if ! getent passwd oneadmin &> /dev/null ; then echo "Creating oneadmin user" /usr/sbin/groupadd cloud ONEPWD=$(/usr/bin/pwgen 40 1) /usr/sbin/useradd -m -c "OpenNebula Cloud Admin" -d /var/lib/one -g cloud -p $ONEPWD oneadmin fi %service_add_pre opennebula-econe.service opennebula-flow.service opennebula-gate.service opennebula-hem.service opennebula-scheduler.service opennebula.service %post if [ ! -d /var/lib/one/.ssh ] ; then %{__mkdir} /var/lib/one/.ssh fi # Setup the ssh infrastructure for the cloud if [ ! -f /var/lib/one/.ssh/id_rsa ]; then /usr/bin/ssh-keygen -q -t rsa -f /var/lib/one/.ssh/id_rsa -N '' fi /bin/cp /var/lib/one/.ssh/id_rsa.pub /var/lib/one/.ssh/authorized_keys echo "Host *" >> /var/lib/one/.ssh/config echo " StrictHostKeyChecking no" >> /var/lib/one/.ssh/config # set the ownership of the management scripts /bin/chown -R oneadmin:cloud /var/lib/one if [ ! -d /var/log/one ]; then %{__mkdir} /var/log/one fi %tmpfiles_create %{_tmpfilesdir}/opennebula.conf %tmpfiles_create %{_tmpfilesdir}/opennebula-node.conf %service_add_post opennebula-econe.service opennebula-flow.service opennebula-gate.service opennebula-hem.service opennebula-scheduler.service opennebula.service %preun %service_del_preun opennebula-econe.service opennebula-flow.service opennebula-gate.service opennebula-hem.service opennebula-scheduler.service opennebula.service %postun %service_del_postun opennebula-econe.service opennebula-flow.service opennebula-gate.service opennebula-hem.service opennebula-scheduler.service opennebula.service %pre sunstone %service_add_pre opennebula-novnc.service opennebula-sunstone.service %post sunstone %service_add_post opennebula-novnc.service opennebula-sunstone.service %preun sunstone %service_del_preun opennebula-novnc.service opennebula-sunstone.service %postun sunstone %service_del_postun opennebula-novnc.service opennebula-sunstone.service %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor