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.*