Repository: incubator-hawq Updated Branches: refs/heads/master 2c4502158 -> 8a31ac47b
HAWQ-1045. PXF RPM updates to support future side by side install for HAWQ upgrade Project: http://git-wip-us.apache.org/repos/asf/incubator-hawq/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-hawq/commit/8a31ac47 Tree: http://git-wip-us.apache.org/repos/asf/incubator-hawq/tree/8a31ac47 Diff: http://git-wip-us.apache.org/repos/asf/incubator-hawq/diff/8a31ac47 Branch: refs/heads/master Commit: 8a31ac47be816a1e6c6f7db272365c33873e66f2 Parents: 2c45021 Author: Shivram Mani <[email protected]> Authored: Fri Sep 23 13:58:22 2016 -0700 Committer: Shivram Mani <[email protected]> Committed: Fri Sep 23 13:58:22 2016 -0700 ---------------------------------------------------------------------- .../main/resources/services/PXF/metainfo.xml | 19 +----- pxf/build.gradle | 63 ++++++++++++++------ pxf/pxf-service/src/scripts/pxf-service | 4 +- pxf/settings.gradle | 3 +- 4 files changed, 51 insertions(+), 38 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8a31ac47/contrib/hawq-ambari-plugin/src/main/resources/services/PXF/metainfo.xml ---------------------------------------------------------------------- diff --git a/contrib/hawq-ambari-plugin/src/main/resources/services/PXF/metainfo.xml b/contrib/hawq-ambari-plugin/src/main/resources/services/PXF/metainfo.xml index e462538..fa82106 100755 --- a/contrib/hawq-ambari-plugin/src/main/resources/services/PXF/metainfo.xml +++ b/contrib/hawq-ambari-plugin/src/main/resources/services/PXF/metainfo.xml @@ -28,22 +28,7 @@ <osFamily>any</osFamily> <packages> <package> - <name>pxf-service</name> - </package> - <package> - <name>apache-tomcat</name> - </package> - <package> - <name>pxf-hive</name> - </package> - <package> - <name>pxf-hdfs</name> - </package> - <package> - <name>pxf-hbase</name> - </package> - <package> - <name>pxf-json</name> + <name>pxf</name> </package> </packages> </osSpecific> @@ -51,4 +36,4 @@ </service> </services> -</metainfo> \ No newline at end of file +</metainfo> http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8a31ac47/pxf/build.gradle ---------------------------------------------------------------------- diff --git a/pxf/build.gradle b/pxf/build.gradle index a7f4610..a35b35a 100644 --- a/pxf/build.gradle +++ b/pxf/build.gradle @@ -48,6 +48,12 @@ if (hddist != 'phd' && hddist != 'hdp') { throw new GradleException("hadoop distribution parameter (hd) set to invalid value: $hddist") } +// Some package names need to be renamed to include the version number +// as part of the package name to enable side by side install of two versions of the same package. +def versionedPackageName(packageName) { + packageName + "_" + "${version}".replace(".", "_") +} + subprojects { subProject -> group = 'org.apache.hawq.pxf' apply plugin: 'java' @@ -191,6 +197,7 @@ project('pxf-service') { } ospackage { + packageName = versionedPackageName("${project.name}") summary = 'HAWQ Extension Framework (PXF), service REST API' description = 'Rest API for the HAWQ Extenstion framework' packager = ' ' @@ -246,12 +253,6 @@ project('pxf-service') { into "/etc/pxf-${project.version}/conf" } - from('src/scripts/pxf-service') { - fileMode 0755 - addParentDirs false - into '/etc/init.d' - } - from(war.outputs.files) { into "/usr/lib/pxf-${project.version}" } @@ -263,13 +264,16 @@ project('pxf-service') { //tomcat configuration files from('src/configs/tomcat') { fileType CONFIG | NOREPLACE - into '/opt/pivotal/pxf/tomcat-templates' + into "/opt/pxf-${project.version}/tomcat-templates" } - link('/usr/lib/pxf', "/usr/lib/pxf-${project.version}") + from('src/scripts/pxf-service') { + fileMode 0755 + addParentDirs false + into "/opt/pxf-${project.version}" + } link("/usr/lib/pxf-${project.version}/${project.name}.jar", "${project.name}-${project.version}.jar") - link('/etc/pxf', "pxf-${project.version}") } @@ -283,6 +287,28 @@ project('pxf-service') { } } +project('pxf') { + jar.enabled = false + ospackage { + summary = 'HAWQ Extension Framework (PXF)' + description = 'HAWQ Extension framework Virtual RPM' + packager = ' ' + packageGroup = 'Development/Libraries' + release = buildNumber() + '.' + project.osFamily + buildHost = ' ' + + requires(versionedPackageName('pxf-hdfs'), project.version, GREATER | EQUAL) + requires(versionedPackageName('pxf-hive'), project.version, GREATER | EQUAL) + requires(versionedPackageName('pxf-hbase'), project.version, GREATER | EQUAL) + requires(versionedPackageName('pxf-json'), project.version, GREATER | EQUAL) + + link('/usr/lib/pxf', "/usr/lib/pxf-${project.version}") + link('/etc/pxf', "/etc/pxf-${project.version}") + link('/opt/pxf', "/opt/pxf-${project.version}") + link('/etc/init.d/pxf-service', "/opt/pxf/pxf-service") + } +} + project('pxf-hdfs') { dependencies { compile(project(':pxf-api')) @@ -293,6 +319,7 @@ project('pxf-hdfs') { } ospackage { + packageName = versionedPackageName("${project.name}") summary = 'HAWQ Extension Framework (PXF), HDFS plugin' description = 'Querying external data stored in HDFS' packager = ' ' @@ -300,7 +327,7 @@ project('pxf-hdfs') { release = buildNumber() + '.' + project.osFamily buildHost = ' ' - requires('pxf-service', project.version, GREATER | EQUAL) + requires(versionedPackageName('pxf-service'), project.version, GREATER | EQUAL) requires('hadoop', "$hadoopVersion", GREATER | EQUAL) requires('hadoop-mapreduce', "$hadoopVersion", GREATER | EQUAL) @@ -330,7 +357,7 @@ project('pxf-hive') { } ospackage { - + packageName = versionedPackageName("${project.name}") summary = 'HAWQ Extension Framework (PXF), Hive plugin' description = 'Querying external data stored in Hive' packager = ' ' @@ -338,8 +365,7 @@ project('pxf-hive') { release = buildNumber() + '.' + project.osFamily buildHost = ' ' - requires('pxf-hdfs', project.version, GREATER | EQUAL) - requires('hive', "$hiveVersion", GREATER | EQUAL) + requires(versionedPackageName('pxf-hdfs'), project.version, GREATER | EQUAL) from(jar.outputs.files) { into "/usr/lib/pxf-${project.version}" @@ -359,7 +385,8 @@ project('pxf-json') { } ospackage { - requires('pxf-hdfs', project.version, GREATER | EQUAL) + requires(versionedPackageName('pxf-hdfs'), project.version, GREATER | EQUAL) + packageName = versionedPackageName("${project.name}") summary = 'HAWQ Extension Framework (PXF), Json plugin' description = 'Querying external data stored in HDFS in Json format' packager = ' ' @@ -383,6 +410,7 @@ project('pxf-hbase') { } ospackage { + packageName = versionedPackageName("${project.name}") summary = 'HAWQ Extension Framework (PXF), HBase plugin' description = 'Querying external data stored in HBase' packager = ' ' @@ -390,8 +418,7 @@ project('pxf-hbase') { release = buildNumber() + '.' + project.osFamily buildHost = ' ' - requires('pxf-service', project.version, GREATER | EQUAL) - requires('hbase', "$hbaseVersionRPM", GREATER | EQUAL) + requires(versionedPackageName('pxf-service'), project.version, GREATER | EQUAL) from(jar.outputs.files) { into "/usr/lib/pxf-${project.version}" @@ -506,10 +533,10 @@ task tomcatRpm(type: Rpm) { user 'tomcat' permissionGroup 'tomcat' addParentDirs false - into "/opt/pivotal/${tomcatName}" + into "/opt/${tomcatName}" } - link("/opt/pivotal/${packageName}", "${tomcatName}") + link("/opt/${packageName}", "${tomcatName}") } } http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8a31ac47/pxf/pxf-service/src/scripts/pxf-service ---------------------------------------------------------------------- diff --git a/pxf/pxf-service/src/scripts/pxf-service b/pxf/pxf-service/src/scripts/pxf-service index 4b6ca73..7f62504 100644 --- a/pxf/pxf-service/src/scripts/pxf-service +++ b/pxf/pxf-service/src/scripts/pxf-service @@ -22,8 +22,8 @@ pxf_root=/usr/lib/pxf env_script=/etc/pxf/conf/pxf-env.sh -tomcat_root=/opt/pivotal/apache-tomcat -tomcat_templates=/opt/pivotal/pxf/tomcat-templates +tomcat_root=/opt/apache-tomcat +tomcat_templates=/opt/pxf/tomcat-templates instance_root=/var/pxf pxf_user=pxf http://git-wip-us.apache.org/repos/asf/incubator-hawq/blob/8a31ac47/pxf/settings.gradle ---------------------------------------------------------------------- diff --git a/pxf/settings.gradle b/pxf/settings.gradle index 718eed5..c610116 100644 --- a/pxf/settings.gradle +++ b/pxf/settings.gradle @@ -19,9 +19,10 @@ rootProject.name = 'pxf' +include 'pxf' include 'pxf-api' include 'pxf-service' include 'pxf-hdfs' include 'pxf-hive' include 'pxf-hbase' -include 'pxf-json' +include 'pxf-json' \ No newline at end of file
