This is an automated email from the ASF dual-hosted git repository.

sekikn pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bigtop.git


The following commit(s) were added to refs/heads/master by this push:
     new 2cf22746 BIGTOP-3826: Support parent directory configuration for Tez 
rpm build script (#1023)
2cf22746 is described below

commit 2cf22746873665d7f9721f7b76caf898c837750e
Author: Zhiguo Wu <[email protected]>
AuthorDate: Sun Oct 9 09:53:24 2022 +0800

    BIGTOP-3826: Support parent directory configuration for Tez rpm build 
script (#1023)
    
    * BIGTOP-3826: Support parent directory configuration for Tez rpm build 
script
    
    * use space instead of tab
---
 bigtop-packages/src/common/tez/install_tez.sh | 40 +++++++++----------
 bigtop-packages/src/rpm/tez/SPECS/tez.spec    | 55 +++++++++++++++++----------
 2 files changed, 51 insertions(+), 44 deletions(-)

diff --git a/bigtop-packages/src/common/tez/install_tez.sh 
b/bigtop-packages/src/common/tez/install_tez.sh
index c6d2b5ed..e24e53aa 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 <options>
      --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 74dcce1d..0a87c0d5 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.*

Reply via email to