--- Makefile.am | 4 +- autogen.sh | 2 +- configure.ac | 4 +- deltacloud-aggregator.spec.in | 141 +++++++++++++++++++++++++++ deltacloud-portal.spec.in | 210 ++++++++++++++++++----------------------- 5 files changed, 240 insertions(+), 121 deletions(-) create mode 100644 deltacloud-aggregator.spec.in
diff --git a/Makefile.am b/Makefile.am index e5d97f8..7984035 100644 --- a/Makefile.am +++ b/Makefile.am @@ -19,8 +19,8 @@ DELTACLOUD_CACHE_DIR ?= $(HOME)/deltacloud-cache
EXTRA_DIST = \ .gitignore \ - deltacloud-portal.spec \ - deltacloud-portal.spec.in \ + deltacloud-aggregator.spec \ + deltacloud-aggregator.spec.in \ conf \ src
diff --git a/autogen.sh b/autogen.sh index a58ba56..72f9114 100755 --- a/autogen.sh +++ b/autogen.sh @@ -40,7 +40,7 @@ THEDIR=`pwd`
test $die = 1 && exit 1
- test -f deltacloud-portal.spec.in || { + test -f deltacloud-aggregator.spec.in || { echo "You must run this script in the top-level directory" exit 1 } diff --git a/configure.ac b/configure.ac index 53f1a2e..e11158b 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -AC_INIT([deltacloud-portal], [0.0.2], [deltacloud-devel@lists.fedoraproject.org]) +AC_INIT([deltacloud-aggregator], [0.0.2], [deltacloud-devel@lists.fedoraproject.org]) AM_INIT_AUTOMAKE([-Wall -Werror foreign -Wno-portability tar-pax]) AC_PROG_CC AC_CONFIG_HEADERS([config.h]) @@ -7,5 +7,5 @@ AC_CONFIG_HEADERS([config.h]) test x"$ac_ct_CC:$CFLAGS" = 'xgcc:-g -O2' \ && CFLAGS="$CFLAGS -Wshadow -Wall -Werror"
-AC_CONFIG_FILES([Makefile deltacloud-portal.spec]) +AC_CONFIG_FILES([Makefile deltacloud-aggregator.spec]) AC_OUTPUT diff --git a/deltacloud-aggregator.spec.in b/deltacloud-aggregator.spec.in new file mode 100644 index 0000000..3c0a114 --- /dev/null +++ b/deltacloud-aggregator.spec.in @@ -0,0 +1,141 @@ +%define app_root %{_datadir}/%{name} +%define doc_root %{_datadir}/%{name}-doc + +Name: deltacloud-aggregator +Version: @VERSION@ +Release: 0%{?dist}%{?extra_release} +Summary: The Deltacloud Aggregator + +Group: Applications/System +License: GPLv2+ and MIT and BSD +URL: http://deltacloud.org + +# until official source tarballs exist, checkout from source via +# git clone git://git.fedorahosted.org/deltacloud/portal.git deltacloud-aggregator-0.0.2 +# tar czvf deltacloud-aggregator-0.0.2.tar.gz deltacloud-aggregator-0.0.2 +Source0: deltacloud-aggregator-%{version}.tar.gz +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +BuildArch: noarch + +Requires: ruby >= 1.8.1 +Requires: ruby(abi) = 1.8 +Requires: rubygem(rails) >= 2.1.1 +Requires: rubygem(daemons) +Requires: rubygem(gettext_rails) +Requires: postgresql +Requires: postgresql-server +Requires: ruby-postgres + +%package daemons +Summary: Deltacloud Aggregator daemons config +Group: Applications/Internet +License: GPLv2+ +Requires: %{name} = %{version}-%{release} +Requires: httpd >= 2.0 +Requires: rubygem(thin) >= 1.2.5 +Requires(post): chkconfig +Requires(preun): chkconfig +Requires(preun): initscripts + + +%package doc +Summary: Deltacloud Aggregator documentation and test suite +Group: Documentation +Requires: %{name} = %{version}-%{release} + +%description +The Aggregator for Deltacloud. + +%description daemons +The configuration necessary to run and proxy the Deltacloud Aggregator. + +%description doc +Documentation and tests for the Deltacloud Aggregator + +%prep +%setup -q + +%build + +%install +%{__rm} -rf %{buildroot} +%{__mkdir} -p %{buildroot} +%{__mkdir} -p %{buildroot}%{app_root} +%{__mkdir} -p %{buildroot}%{doc_root} +%{__mkdir} -p %{buildroot}%{_initrddir} +%{__mkdir} -p %{buildroot}%{_sysconfdir}/sysconfig +%{__mkdir} -p %{buildroot}%{_sysconfdir}/httpd/conf.d +%{__mkdir} -p %{buildroot}%{_sysconfdir}/logrotate.d + +# copy over all of the src directory... +%{__cp} -R src/* %{buildroot}/%{app_root} + +# move documentation to the correct place +mv %{buildroot}/%{app_root}/doc %{buildroot}/%{app_root}/test %{buildroot}/%{doc_root} + +# copy over config and init scripts +%{__cp} conf/deltacloud-aggregator conf/deltacloud-taskomatic %{buildroot}%{_initrddir} +%{__cp} conf/deltacloud-portal.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/deltacloud-aggregator.conf +%{__cp} conf/deltacloud-portal.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/deltacloud-aggregator +%{__cp} conf/deltacloud-aggregator.sysconf %{buildroot}%{_sysconfdir}/sysconfig/deltacloud-aggregator +%{__cp} conf/deltacloud-rails.sysconf %{buildroot}%{_sysconfdir}/sysconfig/deltacloud-rails + +# remove the files not needed for the installation +%{__rm} -f %{buildroot}%{app_root}/task-omatic/.gitignore +%{__rm} -f %{buildroot}%{app_root}/vendor/plugins/will_paginate/.gitignore +%{__rm} -f %{buildroot}%{app_root}/vendor/plugins/will_paginate/.manifest +%{__rm} -rf %{buildroot}%{app_root}/tmp + +%clean +%{__rm} -rf %{buildroot} + +#%check +#rake spec + +%pre daemons +getent group dcloud >/dev/null || /usr/sbin/groupadd -g 109 -r dcloud 2>/dev/null || : +getent passwd dcloud >/dev/null || \ + /usr/sbin/useradd -u 109 -g dcloud -c "dcloud" \ + -s /sbin/nologin -r -d /var/dcloud dcloud 2> /dev/null || : + +%post daemons +# Register the httpd service +/sbin/chkconfig --add deltacloud-taskomatic +/sbin/chkconfig --add deltacloud-aggregator + +%preun daemons +if [ $1 = 0 ]; then +/sbin/service deltacloud-taskomatic stop > /dev/null 2>&1 +/sbin/chkconfig --del deltacloud-taskomatic +/sbin/service deltacloud-aggregator stop > /dev/null 2>&1 +/sbin/chkconfig --del deltacloud-aggregator +fi + +%files +%defattr(-,root,root,-) +%{app_root} +%doc README AUTHORS COPYING + +%files daemons +%defattr(-,root,root,-) +%{_initrddir}/deltacloud-aggregator +%{_initrddir}/deltacloud-taskomatic +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} +%config(noreplace) %{_sysconfdir}/sysconfig/deltacloud-aggregator +%config(noreplace) %{_sysconfdir}/sysconfig/deltacloud-rails +%config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf +%doc README AUTHORS COPYING + +%files doc +%defattr(-,root,root,-) +%{doc_root} +%doc README AUTHORS COPYING + +%changelog +* Wed Feb 18 2010 Mohammed Morsi mmorsi@redhat.com - 0.0.2-1 +- renamed portal to aggregator +- updated / cleaned up package + +* Fri Sep 1 2009 sseago@redhat.com - 0.0.1-1 +- Initial build. + diff --git a/deltacloud-portal.spec.in b/deltacloud-portal.spec.in index 106d36a..986df38 100644 --- a/deltacloud-portal.spec.in +++ b/deltacloud-portal.spec.in @@ -1,45 +1,56 @@ -%define pbuild %{_builddir}/%{name}-%{version} %define app_root %{_datadir}/%{name} -%define acehome %{_datadir}/ace - -Summary: The Deltacloud Portal -Name: deltacloud-portal -Version: @VERSION@ -Release: 0%{?dist}%{?extra_release} -Source0: http://deltacloud.org/files/%%7Bname%7D-%%7Bversion%7D.tar.gz -#Entire source code is GPL except for vendor/plugins/will_paginate and -#public/javascripts/jquery.*, which is both MIT and GPL -License: GPLv2+ and MIT and BSD -Group: Applications/System +%define doc_root %{_datadir}/%{name}-doc + +Name: deltacloud-aggregator +Version: @VERSION@ +Release: 0%{?dist}%{?extra_release} +Summary: The Deltacloud Aggregator + +Group: Applications/System +License: GPLv2+ and MIT and BSD +URL: http://deltacloud.org + +# until official source tarballs exist, checkout from source via +# git clone git://git.fedorahosted.org/deltacloud/portal.git deltacloud-aggregator-0.0.2 +# tar czvf deltacloud-aggregator-0.0.2.tar.gz deltacloud-aggregator-0.0.2 +Source0: deltacloud-aggregator-%{version}.tar.gz +BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) +BuildArch: noarch + Requires: ruby >= 1.8.1 Requires: ruby(abi) = 1.8 -Requires: rubygem(activerecord) >= 2.1.1-2 -Requires: rubygem(activeldap) >= 0.10.0 Requires: rubygem(rails) >= 2.1.1 -Requires: rubygem(thin) >= 1.2.5 -%if 0%{?fedora} >= 11 +Requires: rubygem(daemons) Requires: rubygem(gettext_rails) -%else -Requires: rubygem(gettext) -%endif -Requires: ruby-flexmock +Requires: postgresql Requires: postgresql-server Requires: ruby-postgres -Requires: pwgen + +%package daemons +Summary: Deltacloud Aggregator daemons config +Group: Applications/Internet +License: GPLv2+ +Requires: %{name} = %{version}-%{release} Requires: httpd >= 2.0 -Requires(post): /sbin/chkconfig -Requires(preun): /sbin/chkconfig -Requires(preun): /sbin/service -BuildRequires: ruby >= 1.8.1 -BuildRequires: ruby-devel -BuildRequires: rubygem(gettext) -BuildRequires: rubygem(rake) >= 0.7 -BuildArch: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot -URL: http://deltacloud.org/ +Requires: rubygem(thin) >= 1.2.5 +Requires(post): chkconfig +Requires(preun): chkconfig +Requires(preun): initscripts + + +%package doc +Summary: Deltacloud Aggregator documentation and test suite +Group: Documentation +Requires: %{name} = %{version}-%{release}
%description -The Portal for deltacloud. +The Aggregator for Deltacloud. + +%description daemons +The configuration necessary to run and proxy the Deltacloud Aggregator. + +%description doc +Documentation and tests for the Deltacloud Aggregator
%prep %setup -q @@ -47,98 +58,66 @@ The Portal for deltacloud. %build
%install -test "x%{buildroot}" != "x" && rm -rf %{buildroot} -mkdir %{buildroot} - -%{__install} -d -m0755 %{buildroot}%{_bindir} -%{__install} -d -m0755 %{buildroot}%{_datadir} -%{__install} -d -m0755 %{buildroot}%{_sbindir} -%{__install} -d -m0755 %{buildroot}%{_initrddir} -%{__install} -d -m0755 %{buildroot}%{_sysconfdir}/sysconfig -%{__install} -d -m0755 %{buildroot}%{_sysconfdir}/httpd/conf.d -%{__install} -d -m0755 %{buildroot}%{_sysconfdir}/%{name} -%{__install} -d -m0755 %{buildroot}%{_sysconfdir}/%{name}/db -%{__install} -d -m0755 %{buildroot}%{_sysconfdir}/logrotate.d -%{__install} -d -m0755 %{buildroot}%{_localstatedir}/lib/%{name} -%{__install} -d -m0755 %{buildroot}%{_localstatedir}/log/%{name} -%{__install} -d -m0755 %{buildroot}%{_localstatedir}/run/%{name} -%{__install} -d -m0755 %{buildroot}%{app_root} -%{__install} -d -m0755 %{buildroot}/%{acehome} - -# Creating these files now to make sure the logfiles will be owned -# by dcloud:dcloud. This is a temporary workaround while we've still -# got root-owned daemon processes. Once we resolve that issue -# these files will no longer be added explicitly here. -touch %{buildroot}%{_localstatedir}/log/%{name}/thin.log -touch %{buildroot}%{_localstatedir}/log/%{name}/rails.log -touch %{buildroot}%{_localstatedir}/log/%{name}/taskomatic.log -%{__install} -p -m0644 %{pbuild}/conf/%{name}.conf %{buildroot}%{_sysconfdir}/httpd/conf.d -%{__install} -p -m0644 %{pbuild}/conf/%{name}.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/%{name} - -%{__install} -Dp -m0755 %{pbuild}/conf/deltacloud-aggregator %{buildroot}%{_initrddir} -%{__install} -Dp -m0644 %{pbuild}/conf/deltacloud-aggregator.sysconf %{buildroot}%{_sysconfdir}/sysconfig/deltacloud-aggregator -%{__install} -Dp -m0644 %{pbuild}/conf/deltacloud-rails.sysconf %{buildroot}%{_sysconfdir}/sysconfig/deltacloud-rails -%{__install} -Dp -m0755 %{pbuild}/conf/deltacloud-taskomatic %{buildroot}%{_initrddir} +%{__rm} -rf %{buildroot} +%{__mkdir} -p %{buildroot} +%{__mkdir} -p %{buildroot}%{app_root} +%{__mkdir} -p %{buildroot}%{doc_root} +%{__mkdir} -p %{buildroot}%{_initrddir} +%{__mkdir} -p %{buildroot}%{_sysconfdir}/sysconfig +%{__mkdir} -p %{buildroot}%{_sysconfdir}/httpd/conf.d +%{__mkdir} -p %{buildroot}%{_sysconfdir}/logrotate.d
# copy over all of the src directory... -%{__cp} -a %{pbuild}/src/* %{buildroot}%{app_root} +%{__cp} -R src/* %{buildroot}/%{app_root}
+# move documentation to the correct place +mv %{buildroot}/%{app_root}/doc %{buildroot}/%{app_root}/test %{buildroot}/%{doc_root}
-# move configs to /etc, keeping symlinks for Rails -%{__mv} %{buildroot}%{app_root}/config/database.yml %{buildroot}%{_sysconfdir}/%{name} -%{__mv} %{buildroot}%{app_root}/config/environments/development.rb %{buildroot}%{_sysconfdir}/%{name} -%{__mv} %{buildroot}%{app_root}/config/environments/production.rb %{buildroot}%{_sysconfdir}/%{name} -%{__mv} %{buildroot}%{app_root}/config/environments/test.rb %{buildroot}%{_sysconfdir}/%{name} -%{__ln_s} %{_sysconfdir}/%{name}/database.yml %{buildroot}%{app_root}/config -%{__ln_s} %{_sysconfdir}/%{name}/development.rb %{buildroot}%{app_root}/config/environments -%{__ln_s} %{_sysconfdir}/%{name}/production.rb %{buildroot}%{app_root}/config/environments -%{__ln_s} %{_sysconfdir}/%{name}/test.rb %{buildroot}%{app_root}/config/environments +# copy over config and init scripts +%{__cp} conf/deltacloud-aggregator conf/deltacloud-taskomatic %{buildroot}%{_initrddir} +%{__cp} conf/deltacloud-portal.conf %{buildroot}%{_sysconfdir}/httpd/conf.d/deltacloud-aggregator.conf +%{__cp} conf/deltacloud-portal.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/deltacloud-aggregator +%{__cp} conf/deltacloud-aggregator.sysconf %{buildroot}%{_sysconfdir}/sysconfig/deltacloud-aggregator +%{__cp} conf/deltacloud-rails.sysconf %{buildroot}%{_sysconfdir}/sysconfig/deltacloud-rails
# remove the files not needed for the installation -%{__rm} -f %{buildroot}%{app_root}/task-omatic/.gitignore -%{__rm} -f %{buildroot}%{app_root}/vendor/plugins/will_paginate/.gitignore -%{__rm} -f %{buildroot}%{app_root}/vendor/plugins/will_paginate/.manifest - +%{__rm} -f %{buildroot}%{app_root}/task-omatic/.gitignore +%{__rm} -f %{buildroot}%{app_root}/vendor/plugins/will_paginate/.gitignore +%{__rm} -f %{buildroot}%{app_root}/vendor/plugins/will_paginate/.manifest %{__rm} -rf %{buildroot}%{app_root}/tmp -%{__mkdir} %{buildroot}%{_localstatedir}/lib/%{name}/tmp -%{__ln_s} %{_localstatedir}/lib/%{name}/tmp %{buildroot}%{app_root}/tmp
%clean -rm -rf %{buildroot} +%{__rm} -rf %{buildroot} + +#%check +#rake spec
-%pre +%pre daemons getent group dcloud >/dev/null || /usr/sbin/groupadd -g 109 -r dcloud 2>/dev/null || : getent passwd dcloud >/dev/null || \ /usr/sbin/useradd -u 109 -g dcloud -c "dcloud" \ -s /sbin/nologin -r -d /var/dcloud dcloud 2> /dev/null || :
-%post -# script -%define daemon_chkconfig_post(d:) \ -/sbin/chkconfig --list %{-d*} >& /dev/null \ -LISTRET=$? \ -/sbin/chkconfig --add %{-d*} \ -if [ $LISTRET -ne 0 ]; then \ - /sbin/chkconfig %{-d*} on \ -fi \ -%{nil} - -# if this is the initial RPM install, then we want to turn the new services -# on; otherwise, we respect the choices the administrator already has made. -# check this by seeing if each daemon is already installed -%daemon_chkconfig_post -d deltacloud-aggregator -%daemon_chkconfig_post -d deltacloud-taskomatic - -%preun -if [ "$1" = 0 ] ; then - /sbin/service deltacloud-aggregator stop > /dev/null 2>&1 - /sbin/service deltacloud-taskomatic stop > /dev/null 2>&1 - /sbin/chkconfig --del deltacloud-aggregator - /sbin/chkconfig --del deltacloud-taskomatic +%post daemons +# Register the httpd service +/sbin/chkconfig --add deltacloud-taskomatic +/sbin/chkconfig --add deltacloud-aggregator + +%preun daemons +if [ $1 = 0 ]; then +/sbin/service deltacloud-taskomatic stop > /dev/null 2>&1 +/sbin/chkconfig --del deltacloud-taskomatic +/sbin/service deltacloud-aggregator stop > /dev/null 2>&1 +/sbin/chkconfig --del deltacloud-aggregator fi
%files -%defattr(-,root,root,0755) +%defattr(-,root,root,-) +%{app_root} +%doc README AUTHORS COPYING + +%files daemons +%defattr(-,root,root,-) %{_initrddir}/deltacloud-aggregator %{_initrddir}/deltacloud-taskomatic %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} @@ -146,17 +125,16 @@ fi %config(noreplace) %{_sysconfdir}/sysconfig/deltacloud-rails %config(noreplace) %{_sysconfdir}/httpd/conf.d/%{name}.conf %doc README AUTHORS COPYING -%attr(-, dcloud, dcloud) %{_localstatedir}/lib/%{name} -%attr(-, dcloud, dcloud) %{_localstatedir}/run/%{name} -%attr(-, dcloud, dcloud) %{_localstatedir}/log/%{name} -%{app_root} -%dir %{_sysconfdir}/%{name} -%dir %{_sysconfdir}/%{name}/db -%config(noreplace) %{_sysconfdir}/%{name}/database.yml -%config(noreplace) %{_sysconfdir}/%{name}/development.rb -%config(noreplace) %{_sysconfdir}/%{name}/production.rb -%config(noreplace) %{_sysconfdir}/%{name}/test.rb + +%files doc +%defattr(-,root,root,-) +%{doc_root} +%doc README AUTHORS COPYING
%changelog +* Wed Feb 18 2010 Mohammed Morsi mmorsi@redhat.com - 0.0.2-1 +- renamed portal to aggregator +- updated / cleaned up package + * Fri Sep 1 2009 sseago@redhat.com - 0.0.1-1 - Initial build.
deltacloud-devel@lists.fedorahosted.org