From 539db08956eff322efd11771d46d29df0c7289b2 Mon Sep 17 00:00:00 2001 From: Hugo Trippaers Date: Fri, 4 Jul 2014 14:34:48 +0200 Subject: [PATCH] CLOUDSTACK-6892 Create separate package for the mysql HA component --- client/tomcatconf/catalina.properties.in | 2 +- packaging/centos63/cloud.spec | 36 ++++++++++++++++++++++-- packaging/centos63/package.sh | 7 ++++- 3 files changed, 40 insertions(+), 5 deletions(-) diff --git a/client/tomcatconf/catalina.properties.in b/client/tomcatconf/catalina.properties.in index ce03ff6390b..282892bb763 100644 --- a/client/tomcatconf/catalina.properties.in +++ b/client/tomcatconf/catalina.properties.in @@ -44,7 +44,7 @@ package.definition=sun.,java.,org.apache.catalina.,org.apache.coyote.,org.apache # "foo/*.jar": Add all the JARs of the specified folder as class # repositories # "foo/bar.jar": Add bar.jar as a class repository -common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,/usr/share/java/mysql-connector-java.jar +common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,/usr/share/java/mysql-connector-java.jar,/usr/share/cloudstack-mysql-ha/lib/*jar # # List of comma-separated paths defining the contents of the "server" diff --git a/packaging/centos63/cloud.spec b/packaging/centos63/cloud.spec index d2f19cdb90f..1d4d061851b 100644 --- a/packaging/centos63/cloud.spec +++ b/packaging/centos63/cloud.spec @@ -165,6 +165,17 @@ Group: System Environment/Libraries %description awsapi Apache Cloudstack AWS API compatibility wrapper +%if "%{_ossnoss}" == "NOREDIST" +%package mysql-ha +Summary: Apache CloudStack Balancing Strategy for MySQL +Requires: mysql-connector-java +Requires: tomcat7 +Group: System Environmnet/Libraries +%description mysql-ha +Apache CloudStack Balancing Strategy for MySQL + +%endif + %prep echo Doing CloudStack build @@ -328,6 +339,12 @@ for name in cloud-bridge.properties commons-logging.properties ec2-service.prope ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/$name done +# MYSQL HA +if [ "x%{_ossnoss}" == "xNOREDIST" ] ; then + mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name}-mysql-ha/lib + cp -r plugins/database/mysql-ha/target/cloud-plugin-database-mysqlha-%{_maventag}.jar ${RPM_BUILD_ROOT}%{_datadir}/%{name}-mysql-ha/lib +fi + #Don't package the below for AWS API rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-bridge/webapps/awsapi/WEB-INF/classes/db.properties rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-bridge/webapps/awsapi/WEB-INF/classes/LICENSE.txt @@ -347,9 +364,13 @@ install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-agen install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-usage-%{version}/NOTICE install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-usage-%{version}/LICENSE install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-awsapi-%{version}/NOTICE -install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-awsapi-%{version}/LICENSE -install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-cli-%{version}/NOTICE +install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-awsapi-%{version}/LICENSE +install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-cli-%{version}/NOTICE install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-cli-%{version}/LICENSE +if [ "x%{_ossnoss}" == "xNOREDIST" ] ; then + install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-mysql-ha-%{version}/LICENSE + install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-mysql-ha-%{version}/NOTICE +fi %clean [ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT} @@ -630,8 +651,17 @@ fi %{_defaultdocdir}/%{name}-awsapi-%{version}/LICENSE %{_defaultdocdir}/%{name}-awsapi-%{version}/NOTICE +%if "%{_ossnoss}" == "NOREDIST" +%files mysql-ha +%defattr(0644,cloud,cloud,0755) +%attr(0644,root,root) %{_datadir}/%{name}-mysql-ha/lib/* +%{_defaultdocdir}/%{name}-mysql-ha-%{version}/LICENSE +%{_defaultdocdir}/%{name}-mysql-ha-%{version}/NOTICE +%endif %changelog +* Fri Jul 04 2014 Hugo Trippaers 4.5.0 +- Add a package for the mysql ha module + * Fri Oct 03 2012 Hugo Trippaers 4.1.0 - new style spec file - diff --git a/packaging/centos63/package.sh b/packaging/centos63/package.sh index fa004afff33..07f95fc0cdd 100755 --- a/packaging/centos63/package.sh +++ b/packaging/centos63/package.sh @@ -39,7 +39,7 @@ function packaging() { fi VERSION=`(cd ../../; mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version) | grep --color=none '^[0-9]\.'` - if echo $VERSION | grep SNAPSHOT ; then + if echo $VERSION | grep -q SNAPSHOT ; then REALVER=`echo $VERSION | cut -d '-' -f 1` DEFVER="-D_ver $REALVER" DEFPRE="-D_prerelease 1" @@ -50,19 +50,24 @@ function packaging() { DEFREL="-D_rel 1" fi + echo Preparing to package Apache CloudStack ${VERSION} + mkdir -p $RPMDIR/SPECS mkdir -p $RPMDIR/BUILD mkdir -p $RPMDIR/RPMS mkdir -p $RPMDIR/SRPMS mkdir -p $RPMDIR/SOURCES/$PACK_PROJECT-$VERSION + echo ". preparing source tarball" (cd ../../; tar -c --exclude .git --exclude dist . | tar -C $RPMDIR/SOURCES/$PACK_PROJECT-$VERSION -x ) (cd $RPMDIR/SOURCES/; tar -czf $PACK_PROJECT-$VERSION.tgz $PACK_PROJECT-$VERSION) + echo ". executing rpmbuild" cp cloud.spec $RPMDIR/SPECS (cd $RPMDIR; rpmbuild --define "_topdir $RPMDIR" "${DEFVER}" "${DEFREL}" ${DEFPRE+"${DEFPRE}"} ${DEFOSSNOSS+"$DEFOSSNOSS"} -bb SPECS/cloud.spec) + echo "Done" exit }