提交 b5aba18b 编写于 作者: D Daniel Gustafsson

Convert bin, sbin and doc in gpMgmt to recursive targets

Installing the Management utilities used to be pretty brute-force
operation which copied more or less everything over blindly and then
tried to remove what shouldn't be installed. This is clearly not a
terribly clean and sustainable solution, as subsequent issues with
it has proven (editor savefiles, patch .rej/.orig files etc were
routinely copied and never purged etc).

This takes a first stab at turning installation of gpMgmt/bin, sbin
and doc into proper recursive make targets which only install the
files that were intended to be installed.

Discussion: https://github.com/greenplum-db/gpdb/pull/8179
Reviewed by Bradford Boyle, Kalen Krempely, Jamie McAtamney and
many more
上级 0cad6637
......@@ -2,52 +2,9 @@ top_builddir = ..
include $(top_builddir)/src/Makefile.global
include $(top_builddir)/gpMgmt/Makefile.behave
#---------------------------------------------------------------------
# Set Version
#---------------------------------------------------------------------
SUBDIRS= sbin bin doc
SET_VERSION_SCRIPTS = \
bin/gpactivatestandby \
bin/gpaddmirrors \
bin/gpcheckperf \
bin/gpdeletesystem \
bin/gpexpand \
bin/gpinitstandby \
bin/gpinitsystem \
bin/gpload.py \
bin/gplogfilter \
bin/gpmovemirrors \
bin/gprecoverseg \
bin/gpreload \
bin/gpscp \
bin/gpssh \
bin/gpssh-exkeys \
bin/gpstart \
bin/gpstate \
bin/gpstop \
bin/gpsys1 \
bin/gpcheckcat \
sbin/gpconfig_helper.py \
sbin/gpcleansegmentdir.py \
sbin/gpgetstatususingtransition.py \
sbin/gpsegstart.py \
sbin/gpsegstop.py \
sbin/gpupgrademirror.py \
lib/python/gppylib/programs/clsAddMirrors.py \
lib/python/gppylib/programs/clsHostCacheLookup.py \
lib/python/gppylib/programs/clsRecoverSegment.py \
lib/python/gppylib/programs/clsSystemState.py \
lib/python/gppylib/programs/gppkg.py \
lib/python/gppylib/programs/kill.py \
lib/python/gppylib/mainUtils.py \
$(NULL)
set_scripts_version :
@for file in $(SET_VERSION_SCRIPTS); do \
if [ -f $(DESTDIR)$(prefix)/$${file} ]; then \
perl $(top_builddir)/putversion $(DESTDIR)$(prefix)/$${file} ; \
fi ; \
done
$(recurse)
generate_greenplum_path_file:
mkdir -p $(DESTDIR)$(prefix)
......@@ -55,17 +12,9 @@ generate_greenplum_path_file:
bin/generate-greenplum-path.sh $(prefix) > $(DESTDIR)$(prefix)/greenplum_path.sh
install: generate_greenplum_path_file
# Generate some python libraries
$(MAKE) -C bin $@ prefix=$(DESTDIR)$(prefix)
# Copy the management utilities
mkdir -p $(DESTDIR)$(prefix)/bin
mkdir -p $(DESTDIR)$(prefix)/lib
mkdir -p $(DESTDIR)$(prefix)/lib/python
mkdir -p $(DESTDIR)$(prefix)/sbin
# Setup /lib/python contents
cp -rp bin/gppylib $(DESTDIR)$(prefix)/lib/python
if [ -e bin/ext/__init__.py ]; then \
cp -rp bin/ext/__init__.py $(DESTDIR)$(prefix)/lib/python ; \
fi
......@@ -82,40 +31,16 @@ install: generate_greenplum_path_file
cp -rp bin/ext/yaml $(DESTDIR)$(prefix)/lib/python ; \
fi
# Setup /bin contents
cp -rp bin $(DESTDIR)$(prefix)
# Symlink gpcheckcat from bin to bin/lib to maintain backward compatibility
if [ -f $(DESTDIR)$(prefix)/bin/gpcheckcat ]; then \
ln -sf ../gpcheckcat $(DESTDIR)$(prefix)/bin/lib/gpcheckcat; \
fi
#ifeq "$(findstring $(BLD_ARCH),$(GPPKG_PLATFORMS))" ""
# @echo "Removing gppkg from distribution"
# rm -f $(prefix)/bin/gppkg
#endif
$(MAKE) -C sbin $@ prefix=$(DESTDIR)$(prefix)
if [ ! -d ${DESTDIR}${prefix}/docs ] ; then mkdir ${DESTDIR}${prefix}/docs ; fi
if [ -d doc ]; then cp -rp doc $(DESTDIR)$(prefix)/docs/cli_help; fi
# THIS NEEDS TO MOVE
# if [ -d demo/gpfdist_transform ]; then \
# mkdir -p $(prefix)/demo; \
# $(TAR) -C demo -czf $(prefix)/demo/gpfdist_transform.tar.gz gpfdist_transform; \
# fi
$(MAKE) set_scripts_version prefix=$(prefix)
# Remove unwanted files.
rm -rf $(DESTDIR)$(prefix)/bin/ext
rm -rf $(DESTDIR)$(prefix)/bin/pythonSrc
rm -rf $(DESTDIR)$(prefix)/bin/Makefile
rm -rf $(DESTDIR)$(prefix)/bin/src
rm -rf $(DESTDIR)$(prefix)/bin/gppylib
rm -rf $(DESTDIR)$(prefix)/bin/gpload_test
rm -rf $(DESTDIR)$(prefix)/bin/README*
find $(DESTDIR)$(prefix)/lib/python/gppylib -name test -type d | xargs rm -rf
clean distclean:
$(MAKE) -C bin $@
$(MAKE) -C sbin $@
################################################################################
# Makefile Makefile for Python Modules and other utilities
# Copyright Greenplum 2006-2011
################################################################################
# gpMgmt/bin/Makefile
default: install
......@@ -11,10 +7,36 @@ ifneq "$(wildcard $(top_builddir)/src/Makefile.global)" ""
include $(top_builddir)/src/Makefile.global
endif
SUBDIRS= stream
SUBDIRS= stream gpcheckcat_modules gpconfig_modules gpssh_modules gppylib lib
$(recurse)
PROGRAMS= analyzedb gpactivatestandby gpaddmirrors gpcheckcat gpcheckperf \
gpcheckresgroupimpl gpconfig gpdeletesystem gpexpand gpinitstandby \
gpinitsystem gpload gpload.py gplogfilter gpmovemirrors \
gppkg gprecoverseg gpreload gpscp gpsd gpssh gpssh-exkeys gpstart \
gpstate gpstop gpsys1 minirepro postgresql_conf_gp_additions
installdirs:
$(MKDIR_P) '$(DESTDIR)$(bindir)/lib'
installprograms: installdirs
for file in $(PROGRAMS); do \
$(INSTALL_SCRIPT) $$file '$(DESTDIR)$(bindir)/'$$file ; \
$(PERL) $(top_builddir)/putversion '$(DESTDIR)$(bindir)/'$$file ; \
done
# Symlink gpcheckcat from bin to bin/lib to maintain backward compatibility
if [ ! -L $(DESTDIR)$(bindir)/lib/gpcheckcat ]; then \
$(LN_S) $(DESTDIR)$(bindir)/gpcheckcat $(DESTDIR)$(bindir)/lib/gpcheckcat; \
fi
$(INSTALL_DATA) gpload.bat '$(DESTDIR)$(bindir)/gpload.bat'
uninstall:
for file in $(PROGRAMS); do \
rm -f '$(DESTDIR)$(bindir)/'$$file ; \
done
rm -f '$(DESTDIR)$(bindir)/gpload.bat'
#
# SOURCE DIRECTORIES
#
......@@ -36,9 +58,9 @@ core: pygresql subprocess32
python gpconfig_modules/parse_guc_metadata.py $(prefix)
ifneq "$(wildcard $(CURDIR)/pythonSrc/ext/*.tar.gz)" ""
install: core lockfile psutil
install: installdirs installprograms core lockfile psutil
else
install: core
install: installdirs installprograms core
endif
#
......@@ -53,6 +75,10 @@ PYGRESQL_DIR=PyGreSQL-$(PYGRESQL_VERSION)
pygresql:
@echo "--- PyGreSQL"
if [ ! -f $(DESTDIR)$(prefix)/greenplum_path.sh ]; then \
unset LIBPATH; \
./generate-greenplum-path.sh $(prefix) > $(DESTDIR)$(prefix)/greenplum_path.sh ; \
fi
. $(prefix)/greenplum_path.sh && unset PYTHONHOME && \
if [ "$(BLD_ARCH)" = 'aix7_ppc_64' ]; then \
unset PYTHONPATH && cd $(PYLIB_SRC)/$(PYGRESQL_DIR) && DESTDIR="$(DESTDIR)" CC="$(CC)" python_64 setup.py build; \
......@@ -217,11 +243,10 @@ clean distclean:
rm -rf $(PYLIB_SRC_EXT)/$(PYGRESQL_DIR)/build
rm -rf $(PYLIB_SRC)/$(PYGRESQL_DIR)/build
rm -rf $(PYLIB_SRC)/subprocess32/build
rm -rf *.pyc lib/*.pyc
rm -rf *.pyc
rm -f analyzedbc gpactivatestandbyc gpaddmirrorsc gpcheckcatc \
gpcheckperfc gpcheckresgroupimplc gpchecksubnetcfgc gpconfigc \
gpdeletesystemc gpexpandc gpinitstandbyc gplogfilterc gpmovemirrorsc \
gppkgc gprecoversegc gpreloadc gpscpc gpsdc gpssh-exkeysc gpsshc \
gpstartc gpstatec gpstopc gpsys1c minireproc
rm -f gpconfig_modules/gucs_disallowed_in_file.txt
rm -f gppylib/data/$(GP_MAJORVERSION).json
# gpMgmt/bin/gpcheckcat_modules/Makefile
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
PROGRAMS= __init__.py foreign_key_check.py leaked_schema_dropper.py \
orphan_toast_table_issues.py orphaned_toast_tables_check.py repair.py \
repair_missing_extraneous.py unique_index_violation_check.py
installdirs:
$(MKDIR_P) '$(DESTDIR)$(bindir)/gpcheckcat_modules'
install: installdirs
for file in $(PROGRAMS); do \
$(INSTALL_SCRIPT) $$file '$(DESTDIR)$(bindir)/gpcheckcat_modules/'$$file ; \
done
uninstall:
for file in $(PROGRAMS); do \
rm -f '$(DESTDIR)$(bindir)/gpcheckcat_modules/'$$file ; \
done
clean distclean:
rm -f *.pyc
# gpMgmt/bin/gpconfig_modules/Makefile
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
PROGRAMS= __init__.py compare_segment_guc.py database_segment_guc.py \
file_segment_guc.py guc_collection.py parse_guc_metadata.py \
segment_guc.py
installdirs:
$(MKDIR_P) '$(DESTDIR)$(bindir)/gpconfig_modules'
install: installdirs
for file in $(PROGRAMS); do \
$(INSTALL_SCRIPT) $$file '$(DESTDIR)$(bindir)/gpconfig_modules/'$$file ; \
done
uninstall:
for file in $(PROGRAMS); do \
rm -f '$(DESTDIR)$(bindir)/gpconfig_modules/'$$file ; \
done
clean distclean:
rm -f *.pyc
# gpMgmt/bin/gppylib/Makefile
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
SUBDIRS= commands data db gpMgmttest operations programs system util
$(recurse)
PROGRAMS= gparray.py gpcheckutil.py gpunit unit2
DATA= __init__.py datetimeutils.py fault_injection.py gp_era.py gpcatalog.py \
gphostcache.py gplog.py gpparseopts.py gpresgroup.py gpsubprocess.py \
gpversion.py heapchecksum.py logfilter.py mainUtils.py parseutils.py \
pgconf.py userinput.py utils.py
installdirs:
$(MKDIR_P) '$(DESTDIR)$(libdir)/python/gppylib'
install: installdirs
for file in $(PROGRAMS); do \
$(INSTALL_SCRIPT) $$file '$(DESTDIR)$(libdir)/python/gppylib/'$$file ; \
done
$(PERL) $(top_builddir)/putversion '$(DESTDIR)$(libdir)/python/gppylib/mainUtils.py'
for file in $(DATA); do \
$(INSTALL_DATA) $$file '$(DESTDIR)$(libdir)/python/gppylib/'$$file ; \
done
uninstall:
for file in $(PROGRAMS) $(DATA); do \
rm -f '$(DESTDIR)$(libdir)/python/gppylib/'$$file ; \
done
clean distclean:
rm -f *.pyc
# gpMgmt/bin/gppylib/commands/Makefile
top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global
DATA= __init__.py dca.py gp.py pg.py unix.py
installdirs:
$(MKDIR_P) '$(DESTDIR)$(libdir)/python/gppylib/commands'
install: installdirs
$(INSTALL_SCRIPT) base.py '$(DESTDIR)$(libdir)/python/gppylib/commands/base.py'
for file in $(DATA); do \
$(INSTALL_DATA) $$file '$(DESTDIR)$(libdir)/python/gppylib/commands/'$$file ; \
done
uninstall:
for file in base.py $(DATA); do \
rm -f '$(DESTDIR)$(libdir)/python/gppylib/commands/'$$file ; \
done
clean distclean:
rm -f *.pyc
# gpMgmt/bin/gppylib/data/Makefile
top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global
CATALOG_JSON= $(addsuffix .json,$(GP_MAJORVERSION))
$(CATALOG_JSON):
$(MAKE) -C $(top_builddir)/src/backend/catalog catalog_json
all: $(CATALOG_JSON)
installdirs:
$(MKDIR_P) '$(DESTDIR)$(libdir)/python/gppylib/data'
install: all installdirs
$(INSTALL_DATA) $(CATALOG_JSON) '$(DESTDIR)$(libdir)/python/gppylib/data/$(CATALOG_JSON)'
uninstall:
rm -f '$(DESTDIR)$(libdir)/python/gppylib/data/$(CATALOG_JSON)' ;
distclean: clean
rm -f *.json
clean:
rm -f $(CATALOG_JSON)
# gpMgmt/bin/gppylib/db/Makefile
top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global
DATA= __init__.py catalog.py dbconn.py
installdirs:
$(MKDIR_P) '$(DESTDIR)$(libdir)/python/gppylib/db'
install: installdirs
for file in $(DATA); do \
$(INSTALL_DATA) $$file '$(DESTDIR)$(libdir)/python/gppylib/db/'$$file ; \
done
uninstall:
for file in $(DATA); do \
rm -f '$(DESTDIR)$(libdir)/python/gppylib/db/'$$file ; \
done
clean distclean:
rm -f *.pyc
# gpMgmt/bin/gppylib/gpMgmttest/Makefile
top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global
installdirs:
$(MKDIR_P) '$(DESTDIR)$(libdir)/python/gppylib/gpMgmttest'
install: installdirs
$(INSTALL_DATA) __init__.py '$(DESTDIR)$(libdir)/python/gppylib/gpMgmttest/__init__.py'
uninstall:
rm -f '$(DESTDIR)$(libdir)/python/gppylib/gpMgmttest/__init__.py'
clean distclean:
rm -f *.pyc
# gpMgmt/bin/gppylib/operations/Makefile
top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global
PROGRAMS= initstandby.py test_utils_helper.py
DATA= __init__.py buildMirrorSegments.py deletesystem.py gpcheck.py package.py \
rebalanceSegments.py reload.py segment_reconfigurer.py startSegments.py \
unix.py utils.py
installdirs:
$(MKDIR_P) '$(DESTDIR)$(libdir)/python/gppylib/operations'
install: installdirs
for file in $(PROGRAMS); do \
$(INSTALL_SCRIPT) $$file '$(DESTDIR)$(libdir)/python/gppylib/operations/'$$file ; \
done
for file in $(DATA); do \
$(INSTALL_DATA) $$file '$(DESTDIR)$(libdir)/python/gppylib/operations/'$$file ; \
done
uninstall:
for file in $(PROGRAMS) $(DATA); do \
rm -f '$(DESTDIR)$(libdir)/python/gppylib/operations/'$$file ; \
done
clean distclean:
rm -f *.pyc
# gpMgmt/bin/gppylib/programs/Makefile
top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global
PROGRAMS= initstandby.py test_utils_helper.py
DATA= __init__.py clsAddMirrors.py clsRecoverSegment.py clsSystemState.py \
programIoUtils.py
installdirs:
$(MKDIR_P) '$(DESTDIR)$(libdir)/python/gppylib/programs'
install: installdirs
$(INSTALL_SCRIPT) gppkg.py '$(DESTDIR)$(libdir)/python/gppylib/programs/gppkg.py'
for file in $(DATA); do \
$(INSTALL_DATA) $$file '$(DESTDIR)$(libdir)/python/gppylib/programs/'$$file ; \
done
$(PERL) $(top_builddir)/putversion '$(DESTDIR)$(libdir)/python/gppylib/programs/gppkg.py'
$(PERL) $(top_builddir)/putversion '$(DESTDIR)$(libdir)/python/gppylib/programs/clsAddMirrors.py'
$(PERL) $(top_builddir)/putversion '$(DESTDIR)$(libdir)/python/gppylib/programs/clsRecoverSegment.py'
$(PERL) $(top_builddir)/putversion '$(DESTDIR)$(libdir)/python/gppylib/programs/clsSystemState.py'
uninstall:
for file in $(PROGRAMS) $(DATA); do \
rm -f '$(DESTDIR)$(libdir)/python/gppylib/programs/'$$file ; \
done
clean distclean:
rm -f *.pyc
# gpMgmt/bin/gppylib/system/Makefile
top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global
DATA= __init__.py configurationImplGpdb.py configurationInterface.py environment.py \
faultProberImplGpdb.py faultProberInterface.py fileSystemImplOs.py fileSystemImplTest.py \
fileSystemInterface.py info.py osImplNative.py osInterface.py
installdirs:
$(MKDIR_P) '$(DESTDIR)$(libdir)/python/gppylib/system'
install: installdirs
$(INSTALL_SCRIPT) ComputeCatalogUpdate.py '$(DESTDIR)$(libdir)/python/gppylib/system/ComputeCatalogUpdate.py'
for file in $(DATA); do \
$(INSTALL_DATA) $$file '$(DESTDIR)$(libdir)/python/gppylib/system/'$$file ; \
done
uninstall:
for file in ComputeCatalogUpdate.py $(DATA); do \
rm -f '$(DESTDIR)$(libdir)/python/gppylib/system/'$$file ; \
done
clean distclean:
rm -f *.pyc
# gpMgmt/bin/gppylib/util/Makefile
top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global
installdirs:
$(MKDIR_P) '$(DESTDIR)$(libdir)/python/gppylib/util'
install: installdirs
$(INSTALL_DATA) __init__.py '$(DESTDIR)$(libdir)/python/gppylib/util/__init__.py'
$(INSTALL_DATA) gp_utils.py '$(DESTDIR)$(libdir)/python/gppylib/util/gp_utils.py'
$(INSTALL_DATA) ssh_utils.py '$(DESTDIR)$(libdir)/python/gppylib/util/ssh_utils.py'
uninstall:
rm -f '$(DESTDIR)$(libdir)/python/gppylib/util/__init__.py'
rm -f '$(DESTDIR)$(libdir)/python/gppylib/util/gp_utils.py'
rm -f '$(DESTDIR)$(libdir)/python/gppylib/util/ssh_utils.py'
clean distclean:
rm -f *.pyc
# gpMgmt/bin/gpssh_modules/Makefile
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
PROGRAMS= __init__.py gppxssh_wrapper.py
installdirs:
$(MKDIR_P) '$(DESTDIR)$(bindir)/gpssh_modules'
install: installdirs
for file in $(PROGRAMS); do \
$(INSTALL_SCRIPT) $$file '$(DESTDIR)$(bindir)/gpssh_modules/'$$file ; \
done
uninstall:
for file in $(PROGRAMS); do \
rm -f '$(DESTDIR)$(bindir)/gpssh_modules/'$$file ; \
done
clean distclean:
rm -f *.pyc
# gpMgmt/bin/lib/Makefile
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
SUBDIRS= pexpect
$(recurse)
PROGRAMS= __init__.py gp_bash_functions.sh gp_bash_version.sh gpconfigurenewsegment \
gpcreateseg.sh gphostcachelookup.py gppinggpfdist.py gpstate.py multidd
installdirs:
$(MKDIR_P) '$(DESTDIR)$(bindir)/lib'
install: installdirs
for file in $(PROGRAMS); do \
$(INSTALL_SCRIPT) $$file '$(DESTDIR)$(bindir)/lib/'$$file ; \
done
$(INSTALL_DATA) crashreport.gdb '$(DESTDIR)$(bindir)/lib/crashreport.gdb'
uninstall:
for file in $(PROGRAMS); do \
rm -f '$(DESTDIR)$(bindir)/lib/'$$file ; \
done
rm -f '$(DESTDIR)$(bindir)/lib/crashreport.gdb'
distclean: clean
gp_bash_version.sh
clean:
rm -f *.pyc
# gpMgmt/bin/lib/pexpect/Makefile
top_builddir = ../../../..
include $(top_builddir)/src/Makefile.global
PROGRAMS= __init__.py pxssh.py
installdirs:
$(MKDIR_P) '$(DESTDIR)$(bindir)/lib/pexpect'
install: installdirs
for file in $(PROGRAMS); do \
$(INSTALL_SCRIPT) $$file '$(DESTDIR)$(bindir)/lib/pexpect/'$$file ; \
done
uninstall:
for file in $(PROGRAMS); do \
rm -f '$(DESTDIR)$(bindir)/lib/pexpect/'$$file ; \
done
clean distclean:
rm -f *.pyc
# gpMgmt/doc/Makefile
top_builddir = ../..
include $(top_builddir)/src/Makefile.global
SUBDIRS= gpconfigs
$(recurse)
DOCS= gpactivatestandby_help gpaddmirrors_help gpcheckperf_help \
gpconfig_help gpdeletesystem_help gpexpand_help gpfdist_help \
gpinitstandby_help gpinitsystem_help gpload_help gplogfilter_help \
gpmapreduce_help gpperfmon_install_help gppkg_help gprecoverseg_help \
gpreload_help gpscp_help gpssh-exkeys_help gpssh_help gpstart_help \
gpstate_help gpstop_help gpsys1_help
installdirs:
$(MKDIR_P) '$(DESTDIR)$(prefix)/docs/cli_help'
install: installdirs
for file in $(DOCS); do \
$(INSTALL_DATA) $$file '$(DESTDIR)$(prefix)/docs/cli_help/'$$file ; \
done
uninstall:
for file in $(DOCS); do \
rm -f '$(DESTDIR)$(prefix)/docs/cli_help/'$$file ; \
done
# gpMgmt/doc/gpconfigs/Makefile
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global
DATA= gpinitsystem_config gpinitsystem_singlenode gpinitsystem_test \
hostfile_exkeys hostfile_gpchecknet_ic1 hostfile_gpchecknet_ic2 \
hostfile_gpcheckperf hostfile_gpexpand hostfile_gpinitsystem \
hostfile_gpssh_allhosts hostfile_gpssh_segonly hostlist_singlenode
installdirs:
$(MKDIR_P) '$(DESTDIR)$(prefix)/docs/cli_help/gpconfigs'
install: installdirs
for file in $(DATA); do \
$(INSTALL_DATA) $$file '$(DESTDIR)$(prefix)/docs/cli_help/gpconfigs/'$$file ; \
done
uninstall:
for file in $(DATA); do \
rm -f '$(DESTDIR)$(prefix)/docs/cli_help/gpconfigs/'$$file ; \
done
top_builddir=../..
# gpMgmt/sbin/Makefile
top_builddir = ../..
ifneq "$(wildcard $(top_builddir)/src/Makefile.global)" ""
include $(top_builddir)/src/Makefile.global
endif
install:
@# Copy everything except the makefile
find . ! -path '*Makefile' -type f -exec cp -- {} $(prefix)/sbin/{} \;
PYCS= gpconfig_helper.pyc gpoperation.pyc gpsegstop.pyc gpcleansegmentdir.pyc \
gpgetstatususingtransition.pyc gpsegstart.pyc
PROGRAMS= gpconfig_helper.py gpoperation.py gpsegstop.py gpcleansegmentdir.py \
gpgetstatususingtransition.py gpsegstart.py packcore
installdirs:
$(MKDIR_P) '$(DESTDIR)$(sbindir)'
install: installdirs
for file in $(PROGRAMS); do \
$(INSTALL_SCRIPT) $$file '$(DESTDIR)$(sbindir)/'$$file ; \
$(PERL) $(top_builddir)/putversion '$(DESTDIR)$(sbindir)/'$$file ; \
done
uninstall:
for file in $(PROGRAMS); do \
rm -f '$(DESTDIR)$(sbindir)/'$$file ; \
done
clean distclean:
@rm -f *.pyc
rm -f $(PYCS)
......@@ -94,6 +94,8 @@ schemapg.h: postgres.bki
pg_proc_combined.h: $(top_srcdir)/src/include/catalog/pg_proc.h $(top_srcdir)/src/include/catalog/pg_proc_gp.h
cat $^ > $@
catalog_json: $(CATALOG_JSON)
$(CATALOG_JSON): process_foreign_keys.pl $(POSTGRES_BKI_SRCS) $(top_srcdir)/src/include/catalog/catversion.h
cat $(POSTGRES_BKI_SRCS) $(top_srcdir)/src/include/catalog/catversion.h | $(PERL) process_foreign_keys.pl > $@
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册