Repository: bigtop Updated Branches: refs/heads/master 33dad631f -> 1cbbb28cb
BIGTOP-1356. Build hive.install by excluding subpackages lib. (contributed by Julien Eid <[email protected]>) Project: http://git-wip-us.apache.org/repos/asf/bigtop/repo Commit: http://git-wip-us.apache.org/repos/asf/bigtop/commit/1cbbb28c Tree: http://git-wip-us.apache.org/repos/asf/bigtop/tree/1cbbb28c Diff: http://git-wip-us.apache.org/repos/asf/bigtop/diff/1cbbb28c Branch: refs/heads/master Commit: 1cbbb28cb50c2ba10f20333583d74bd2352205e5 Parents: 33dad63 Author: Sean Mackrory <[email protected]> Authored: Fri Jul 25 15:26:20 2014 -0700 Committer: Sean Mackrory <[email protected]> Committed: Fri Jul 25 15:27:20 2014 -0700 ---------------------------------------------------------------------- .../src/deb/hive/build-hive-install-file.sh | 26 +++++++ bigtop-packages/src/deb/hive/hive.install | 72 -------------------- .../src/deb/hive/hive.install.include | 9 +++ bigtop-packages/src/deb/hive/rules | 1 + 4 files changed, 36 insertions(+), 72 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/bigtop/blob/1cbbb28c/bigtop-packages/src/deb/hive/build-hive-install-file.sh ---------------------------------------------------------------------- diff --git a/bigtop-packages/src/deb/hive/build-hive-install-file.sh b/bigtop-packages/src/deb/hive/build-hive-install-file.sh new file mode 100644 index 0000000..f82d0e4 --- /dev/null +++ b/bigtop-packages/src/deb/hive/build-hive-install-file.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# This script is meant to include only libraries in the main hive package not already included in other hive subpackages. +# It does this by listing the contents of hive/lib into a temporary file and then it will +# lists all libs in in the .install files for other subpackages, adding those lines to a tmp exclude file +# It will then do a grep diff between the list of hive/lib and the exclude file and only include lines not found in the exclude +# It then reads what should be included to stdout as well as some files that should also be in the package, which is listed in hive.install.include. +for i in debian/tmp/usr/lib/hive/lib/* +do + echo ${i} >> debian/hive.include +done + +get_excludes () { + while read line + do + echo ${line:0:(-5)} >> debian/hive.exclude # get rid of *.jar and add to excludes list + done <$1 # Read in .install file for subpackage +} + +# Exclude all libraries listed in these files. +get_excludes "debian/hive-jdbc.install" +get_excludes "debian/hive-hbase.install" + +# Exclude the libraries from above and put the remaining libs in hive.install. +grep -Fv -f debian/hive.exclude debian/hive.include +# Add extra files that aren't libs. +cat debian/hive.install.include http://git-wip-us.apache.org/repos/asf/bigtop/blob/1cbbb28c/bigtop-packages/src/deb/hive/hive.install ---------------------------------------------------------------------- diff --git a/bigtop-packages/src/deb/hive/hive.install b/bigtop-packages/src/deb/hive/hive.install deleted file mode 100644 index 99d374b..0000000 --- a/bigtop-packages/src/deb/hive/hive.install +++ /dev/null @@ -1,72 +0,0 @@ -etc/hive -usr/bin/hive -usr/bin/beeline -usr/bin/hiveserver2 -usr/lib/hive/bin -usr/lib/hive/conf -usr/lib/hive/scripts -usr/share/man/man1/hive.1.gz -usr/share/doc/hive -usr/lib/hive/lib/activation-*.jar -usr/lib/hive/lib/ant-*.jar -usr/lib/hive/lib/ant-launcher-*.jar -usr/lib/hive/lib/antlr-*.jar -usr/lib/hive/lib/antlr-runtime-*.jar -usr/lib/hive/lib/asm-*.jar -usr/lib/hive/lib/asm-commons-*.jar -usr/lib/hive/lib/asm-tree-*.jar -usr/lib/hive/lib/avro-*.jar -usr/lib/hive/lib/bonecp-0.8.0.RELEASE.jar -usr/lib/hive/lib/commons-cli-*.jar -usr/lib/hive/lib/commons-codec-*.jar -usr/lib/hive/lib/commons-collections-*.jar -usr/lib/hive/lib/commons-compress-*.jar -usr/lib/hive/lib/commons-httpclient-*.jar -usr/lib/hive/lib/commons-io-*.jar -usr/lib/hive/lib/commons-lang-*.jar -usr/lib/hive/lib/commons-lang3-*.jar -usr/lib/hive/lib/datanucleus-api-jdo-*.jar -usr/lib/hive/lib/datanucleus-core-*.jar -usr/lib/hive/lib/datanucleus-rdbms-*.jar -usr/lib/hive/lib/derby-*.jar -usr/lib/hive/lib/geronimo-annotation_1.0_spec-*.jar -usr/lib/hive/lib/geronimo-jaspic_1.0_spec-*.jar -usr/lib/hive/lib/geronimo-jta_1.1_spec-*.jar -usr/lib/hive/lib/groovy-all-*.jar -usr/lib/hive/lib/guava-*.jar -usr/lib/hive/lib/hamcrest-core-*.jar -usr/lib/hive/lib/hive-ant*.jar -usr/lib/hive/lib/hive-beeline*.jar -usr/lib/hive/lib/hive-cli*.jar -usr/lib/hive/lib/hive-common*.jar -usr/lib/hive/lib/hive-contrib*.jar -usr/lib/hive/lib/hive-hbase-handler*.jar -usr/lib/hive/lib/hive-hwi*.jar -usr/lib/hive/lib/hive-shims*.jar -usr/lib/hive/lib/hive-testutils*.jar -usr/lib/hive/lib/httpclient-*.jar -usr/lib/hive/lib/httpcore-*.jar -usr/lib/hive/lib/jdo-api-*.jar -usr/lib/hive/lib/jetty-*.jar -usr/lib/hive/lib/jetty-all-*.jar -usr/lib/hive/lib/jetty-util-*.jar -usr/lib/hive/lib/jline-*.jar -usr/lib/hive/lib/jpam-*.jar -usr/lib/hive/lib/jsr305-*.jar -usr/lib/hive/lib/jta-*.jar -usr/lib/hive/lib/junit-*.jar -usr/lib/hive/lib/mail-*.jar -usr/lib/hive/lib/oro-*.jar -usr/lib/hive/lib/paranamer-*.jar -usr/lib/hive/lib/php -usr/lib/hive/lib/py -usr/lib/hive/lib/servlet-api-*.jar -usr/lib/hive/lib/servlet-api-*.jar -usr/lib/hive/lib/snappy-java-*.jar -usr/lib/hive/lib/ST4-*.jar -usr/lib/hive/lib/stax-api-*.jar -usr/lib/hive/lib/stringtemplate-*.jar -usr/lib/hive/lib/tempus-fugit-*.jar -usr/lib/hive/lib/velocity-*.jar -usr/lib/hive/lib/xz-*.jar -usr/lib/hive/lib/zookeeper*.jar http://git-wip-us.apache.org/repos/asf/bigtop/blob/1cbbb28c/bigtop-packages/src/deb/hive/hive.install.include ---------------------------------------------------------------------- diff --git a/bigtop-packages/src/deb/hive/hive.install.include b/bigtop-packages/src/deb/hive/hive.install.include new file mode 100644 index 0000000..4c9b2dc --- /dev/null +++ b/bigtop-packages/src/deb/hive/hive.install.include @@ -0,0 +1,9 @@ +etc/hive +usr/bin/hive +usr/bin/beeline +usr/bin/hiveserver2 +usr/lib/hive/bin +usr/lib/hive/conf +usr/lib/hive/scripts +usr/share/man/man1/hive.1.gz +usr/share/doc/hive http://git-wip-us.apache.org/repos/asf/bigtop/blob/1cbbb28c/bigtop-packages/src/deb/hive/rules ---------------------------------------------------------------------- diff --git a/bigtop-packages/src/deb/hive/rules b/bigtop-packages/src/deb/hive/rules index db73a13..f77e3c5 100755 --- a/bigtop-packages/src/deb/hive/rules +++ b/bigtop-packages/src/deb/hive/rules @@ -55,6 +55,7 @@ override_dh_auto_install: server server2 metastore hcatalog-server webhcat-serve ln -s /usr/lib/zookeeper/zookeeper.jar debian/tmp/usr/lib/hive/lib # Workaround for BIGTOP-583 rm -f debian/tmp/usr/lib/hive/lib/slf4j-log4j12-*.jar + bash debian/build-hive-install-file.sh >> debian/hive.install # Hive source contains a directory docs/changes that is interpreted a special way in Debian 7+ packaging mv docs/changes docs/changes_
