CLOUDSTACK-6892 Create separate package for the mysql HA component

This commit is contained in:
Hugo Trippaers 2014-07-04 14:34:48 +02:00
parent cc913cf0bb
commit 539db08956
3 changed files with 40 additions and 5 deletions

View File

@ -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 # "foo/*.jar": Add all the JARs of the specified folder as class
# repositories # repositories
# "foo/bar.jar": Add bar.jar as a class repository # "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" # List of comma-separated paths defining the contents of the "server"

View File

@ -165,6 +165,17 @@ Group: System Environment/Libraries
%description awsapi %description awsapi
Apache Cloudstack AWS API compatibility wrapper 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 %prep
echo Doing CloudStack build 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 ${RPM_BUILD_ROOT}%{_sysconfdir}/%{name}/management/$name
done 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 #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/db.properties
rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}-bridge/webapps/awsapi/WEB-INF/classes/LICENSE.txt 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/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/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}/NOTICE
install -D tools/whisker/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-awsapi-%{version}/LICENSE install -D tools/whisker/LICENSE ${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/NOTICE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-cli-%{version}/NOTICE
install -D tools/whisker/LICENSE ${RPM_BUILD_ROOT}%{_defaultdocdir}/%{name}-cli-%{version}/LICENSE 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 %clean
[ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT} [ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT}
@ -630,8 +651,17 @@ fi
%{_defaultdocdir}/%{name}-awsapi-%{version}/LICENSE %{_defaultdocdir}/%{name}-awsapi-%{version}/LICENSE
%{_defaultdocdir}/%{name}-awsapi-%{version}/NOTICE %{_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 %changelog
* Fri Jul 04 2014 Hugo Trippaers <hugo@apache.org> 4.5.0
- Add a package for the mysql ha module
* Fri Oct 03 2012 Hugo Trippaers <hugo@apache.org> 4.1.0 * Fri Oct 03 2012 Hugo Trippaers <hugo@apache.org> 4.1.0
- new style spec file - new style spec file

View File

@ -39,7 +39,7 @@ function packaging() {
fi fi
VERSION=`(cd ../../; mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version) | grep --color=none '^[0-9]\.'` 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` REALVER=`echo $VERSION | cut -d '-' -f 1`
DEFVER="-D_ver $REALVER" DEFVER="-D_ver $REALVER"
DEFPRE="-D_prerelease 1" DEFPRE="-D_prerelease 1"
@ -50,19 +50,24 @@ function packaging() {
DEFREL="-D_rel 1" DEFREL="-D_rel 1"
fi fi
echo Preparing to package Apache CloudStack ${VERSION}
mkdir -p $RPMDIR/SPECS mkdir -p $RPMDIR/SPECS
mkdir -p $RPMDIR/BUILD mkdir -p $RPMDIR/BUILD
mkdir -p $RPMDIR/RPMS mkdir -p $RPMDIR/RPMS
mkdir -p $RPMDIR/SRPMS mkdir -p $RPMDIR/SRPMS
mkdir -p $RPMDIR/SOURCES/$PACK_PROJECT-$VERSION 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 ../../; 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) (cd $RPMDIR/SOURCES/; tar -czf $PACK_PROJECT-$VERSION.tgz $PACK_PROJECT-$VERSION)
echo ". executing rpmbuild"
cp cloud.spec $RPMDIR/SPECS cp cloud.spec $RPMDIR/SPECS
(cd $RPMDIR; rpmbuild --define "_topdir $RPMDIR" "${DEFVER}" "${DEFREL}" ${DEFPRE+"${DEFPRE}"} ${DEFOSSNOSS+"$DEFOSSNOSS"} -bb SPECS/cloud.spec) (cd $RPMDIR; rpmbuild --define "_topdir $RPMDIR" "${DEFVER}" "${DEFREL}" ${DEFPRE+"${DEFPRE}"} ${DEFOSSNOSS+"$DEFOSSNOSS"} -bb SPECS/cloud.spec)
echo "Done"
exit exit
} }