diff --git a/bigtop-packages/src/common/tez/install_tez.sh b/bigtop-packages/src/common/tez/install_tez.sh index c6d2b5ed27..e24e53aa85 100644 --- a/bigtop-packages/src/common/tez/install_tez.sh +++ b/bigtop-packages/src/common/tez/install_tez.sh @@ -25,11 +25,10 @@ usage: $0 --prefix=PREFIX path to install into Optional options: + --man-dir=DIR path to install mans [/usr/share/man] --doc-dir=DIR path to install docs into [/usr/share/doc/tez] --lib-dir=DIR path to install tez home [/usr/lib/tez] - --installed-lib-dir=DIR path where lib-dir will end up on target system - --bin-dir=DIR path to install bins [/usr/bin] - --examples-dir=DIR path to install examples [doc-dir/examples] + --etc-tez=DIR path to install tez conf [/etc/tez] ... [ see source for more similar options ] " exit 1 @@ -39,14 +38,10 @@ OPTS=$(getopt \ -n $0 \ -o '' \ -l 'prefix:' \ + -l 'man-dir:' \ -l 'doc-dir:' \ -l 'lib-dir:' \ - -l 'installed-lib-dir:' \ - -l 'bin-dir:' \ - -l 'examples-dir:' \ - -l 'conf-dir:' \ - -l 'sbin-dir:' \ - -l 'libexec-dir:' \ + -l 'etc-tez:' \ -l 'build-dir:' -- "$@") if [ $? != 0 ] ; then @@ -62,20 +57,17 @@ while true ; do --build-dir) BUILD_DIR=$2 ; shift 2 ;; + --man-dir) + MAN_DIR=$2 ; shift 2 + ;; --doc-dir) DOC_DIR=$2 ; shift 2 ;; --lib-dir) LIB_DIR=$2 ; shift 2 ;; - --installed-lib-dir) - INSTALLED_LIB_DIR=$2 ; shift 2 - ;; - --examples-dir) - EXAMPLES_DIR=$2 ; shift 2 - ;; - --libexec-dir) - LIBEXEC_DIR=$2 ; shift 2 + --etc-tez) + ETC_TEZ=$2 ; shift 2 ;; --) shift ; break @@ -95,12 +87,13 @@ for var in PREFIX BUILD_DIR ; do fi done -MAN_DIR=${MAN_DIR:-/usr/share/man/man1} +MAN_DIR=${MAN_DIR:-/usr/share/man}/man1 DOC_DIR=${DOC_DIR:-/usr/share/doc/tez} LIB_DIR=${LIB_DIR:-/usr/lib/tez} -CONF_DIR=/etc/tez/conf -CONF_DIST_DIR=/etc/tez/conf.dist/ +ETC_TEZ=${ETC_TEZ:-/etc/tez} +# No prefix +NP_ETC_TEZ=/etc/tez install -d -m 0755 $PREFIX/$MAN_DIR gzip -c tez.1 > $PREFIX/$MAN_DIR/tez.1.gz @@ -108,13 +101,14 @@ gzip -c tez.1 > $PREFIX/$MAN_DIR/tez.1.gz install -d -m 0755 $PREFIX/$LIB_DIR install -d -m 0755 $PREFIX/$LIB_DIR/lib install -d -m 0755 $PREFIX/$DOC_DIR -install -d -m 0755 $PREFIX/$CONF_DIST_DIR +install -d -m 0755 $PREFIX/$NP_ETC_TEZ +install -d -m 0755 $PREFIX/$ETC_TEZ/conf.dist install -d -m 0755 $PREFIX/$MAN_DIR tar -C $PREFIX/$LIB_DIR -xzf $BUILD_DIR/tez-dist/target/tez*-minimal.tar.gz -cp tez-site.xml $PREFIX/$CONF_DIST_DIR -ln -s $CONF_DIR $PREFIX/$LIB_DIR/conf +cp tez-site.xml $PREFIX/$ETC_TEZ/conf.dist/ +ln -s $NP_ETC_TEZ/conf $PREFIX/$LIB_DIR/conf TEZ_TAR=$BUILD_DIR/tez-dist/target/tez-[[:digit:]]*[[:digit:]].tar.gz cp $TEZ_TAR $PREFIX/$LIB_DIR/lib/tez.tar.gz diff --git a/bigtop-packages/src/rpm/tez/SPECS/tez.spec b/bigtop-packages/src/rpm/tez/SPECS/tez.spec index 74dcce1d9f..0a87c0d56a 100644 --- a/bigtop-packages/src/rpm/tez/SPECS/tez.spec +++ b/bigtop-packages/src/rpm/tez/SPECS/tez.spec @@ -12,10 +12,20 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -%define tez_home /usr/lib/%{name} -%define lib_tez %{tez_home}/lib -%define man_dir %{_mandir} +%define usr_lib_tez %{parent_dir}/usr/lib/%{name} +%define etc_tez %{parent_dir}/etc/%{name} + +%define usr_lib_hadoop %{parent_dir}/usr/lib/hadoop + +%define bin_dir %{parent_dir}/%{_bindir} +%define man_dir %{parent_dir}/%{_mandir} +%define doc_dir %{parent_dir}/%{_docdir} + +# No prefix directory +%define np_var_log_tez /var/log/%{name} +%define np_var_run_tez /var/run/%{name} +%define np_etc_tez /etc/%{name} %if %{!?suse_version:1}0 && %{!?mgaversion:1}0 @@ -26,7 +36,7 @@ /usr/lib/rpm/brp-python-bytecompile ; \ %{nil} -%define doc_tez %{_docdir}/tez-%{tez_version} +%define doc_tez %{doc_dir}/tez-%{tez_version} %endif @@ -38,7 +48,7 @@ %define suse_check \# Define an empty suse_check for compatibility with older sles %endif -%define doc_tez %{_docdir}/%{name} +%define doc_tez %{doc_dir}/%{name} %define alternatives_cmd update-alternatives %define __os_install_post \ %{suse_check} ; \ @@ -47,7 +57,7 @@ %else -%define doc_tez %{_docdir}/%{name}-%{tez_version} +%define doc_tez %{doc_dir}/%{name}-%{tez_version} %define alternatives_cmd alternatives %endif @@ -96,27 +106,29 @@ env TEZ_VERSION=%{version} bash %{SOURCE1} cp %{SOURCE3} %{SOURCE4} . sh %{SOURCE2} \ - --build-dir=. \ - --doc-dir=%{doc_tez} \ - --libexec-dir=%{libexec_tez} \ - --prefix=$RPM_BUILD_ROOT - -%__rm -f $RPM_BUILD_ROOT/%{lib_tez}/slf4j-log4j12-*.jar -%__ln_s -f /usr/lib/hadoop/hadoop-annotations.jar $RPM_BUILD_ROOT/%{lib_tez}/hadoop-annotations.jar -%__ln_s -f /usr/lib/hadoop/hadoop-auth.jar $RPM_BUILD_ROOT/%{lib_tez}/hadoop-auth.jar -%__ln_s -f /usr/lib/hadoop-mapreduce/hadoop-mapreduce-client-common.jar $RPM_BUILD_ROOT/%{lib_tez}/hadoop-mapreduce-client-common.jar -%__ln_s -f /usr/lib/hadoop-mapreduce/hadoop-mapreduce-client-core.jar $RPM_BUILD_ROOT/%{lib_tez}/hadoop-mapreduce-client-core.jar -%__ln_s -f /usr/lib/hadoop-yarn/hadoop-yarn-server-web-proxy.jar $RPM_BUILD_ROOT/%{lib_tez}/hadoop-yarn-server-web-proxy.jar + --build-dir=. \ + --prefix=$RPM_BUILD_ROOT \ + --man-dir=%{man_dir} \ + --doc-dir=%{doc_tez} \ + --lib-dir=%{usr_lib_tez} \ + --etc-tez=%{etc_tez} + +%__rm -f $RPM_BUILD_ROOT/%{usr_lib_tez}/lib/slf4j-log4j12-*.jar +%__ln_s -f %{usr_lib_hadoop}/hadoop-annotations.jar $RPM_BUILD_ROOT/%{usr_lib_tez}/lib/hadoop-annotations.jar +%__ln_s -f %{usr_lib_hadoop}/hadoop-auth.jar $RPM_BUILD_ROOT/%{usr_lib_tez}/lib/hadoop-auth.jar +%__ln_s -f %{usr_lib_hadoop}-mapreduce/hadoop-mapreduce-client-common.jar $RPM_BUILD_ROOT/%{usr_lib_tez}/lib/hadoop-mapreduce-client-common.jar +%__ln_s -f %{usr_lib_hadoop}-mapreduce/hadoop-mapreduce-client-core.jar $RPM_BUILD_ROOT/%{usr_lib_tez}/lib/hadoop-mapreduce-client-core.jar +%__ln_s -f %{usr_lib_hadoop}-yarn/hadoop-yarn-server-web-proxy.jar $RPM_BUILD_ROOT/%{usr_lib_tez}/lib/hadoop-yarn-server-web-proxy.jar %pre # Manage configuration symlink %post -%{alternatives_cmd} --install /etc/tez/conf %{name}-conf /etc/tez/conf.dist 30 +%{alternatives_cmd} --install %{np_etc_tez}/conf %{name}-conf %{etc_tez}/conf.dist 30 %preun if [ "$1" = 0 ]; then - %{alternatives_cmd} --remove %{name}-conf /etc/tez/conf.dist || : + %{alternatives_cmd} --remove %{name}-conf %{etc_tez}/conf.dist || : fi ####################### @@ -124,7 +136,8 @@ fi ####################### %files %defattr(-,root,root) -%config(noreplace) /etc/tez/conf.dist -%{tez_home} +%config(noreplace) %{etc_tez}/conf.dist %doc %{doc_tez} +%dir %{np_etc_tez} +%{usr_lib_tez} %{man_dir}/man1/tez.1.*