From 886e369925172d9cf6f71ce28cc8af7c2b3ec06e Mon Sep 17 00:00:00 2001 From: Jonny Heggheim Date: Tue, 28 Jul 2020 19:46:01 +0200 Subject: [PATCH 1/4] Modified Makefile to accept standard varibles for install location, including DESTDIR for staged build --- Makefile | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/Makefile b/Makefile index b36e0438f0e..f9971447d6d 100644 --- a/Makefile +++ b/Makefile @@ -1788,33 +1788,37 @@ io_tracer_test: $(OBJ_DIR)/trace_replay/io_tracer_test.o $(OBJ_DIR)/trace_replay #------------------------------------------------- # make install related stuff -INSTALL_PATH ?= /usr/local +PREFIX ?= /usr/local +LIBDIR ?= $(PREFIX)/lib +INSTALL_LIBDIR = $(DESTDIR)$(LIBDIR) uninstall: - rm -rf $(INSTALL_PATH)/include/rocksdb \ - $(INSTALL_PATH)/lib/$(LIBRARY) \ - $(INSTALL_PATH)/lib/$(SHARED4) \ - $(INSTALL_PATH)/lib/$(SHARED3) \ - $(INSTALL_PATH)/lib/$(SHARED2) \ - $(INSTALL_PATH)/lib/$(SHARED1) + rm -rf $(DESTDIR)/$(PREFIX)/include/rocksdb \ + $(INSTALL_LIBDIR)/$(LIBRARY) \ + $(INSTALL_LIBDIR)/$(SHARED4) \ + $(INSTALL_LIBDIR)/$(SHARED3) \ + $(INSTALL_LIBDIR)/$(SHARED2) \ + $(INSTALL_LIBDIR)/$(SHARED1) install-headers: - install -d $(INSTALL_PATH)/lib + install -d $(DESTDIR)/$(PREFIX)/include for header_dir in `$(FIND) "include/rocksdb" -type d`; do \ - install -d $(INSTALL_PATH)/$$header_dir; \ + install -d $(DESTDIR)/$(PREFIX)/$$header_dir; \ done for header in `$(FIND) "include/rocksdb" -type f -name *.h`; do \ - install -C -m 644 $$header $(INSTALL_PATH)/$$header; \ + install -C -m 644 $$header $(DESTDIR)/$(PREFIX)/$$header; \ done install-static: install-headers $(LIBRARY) - install -C -m 755 $(LIBRARY) $(INSTALL_PATH)/lib + install -d $(INSTALL_LIBDIR) + install -C -m 755 $(LIBRARY) $(INSTALL_LIBDIR) install-shared: install-headers $(SHARED4) - install -C -m 755 $(SHARED4) $(INSTALL_PATH)/lib && \ - ln -fs $(SHARED4) $(INSTALL_PATH)/lib/$(SHARED3) && \ - ln -fs $(SHARED4) $(INSTALL_PATH)/lib/$(SHARED2) && \ - ln -fs $(SHARED4) $(INSTALL_PATH)/lib/$(SHARED1) + install -d $(INSTALL_LIBDIR) + install -C -m 755 $(SHARED4) $(INSTALL_LIBDIR) + ln -fs $(SHARED4) $(INSTALL_LIBDIR)/$(SHARED3) + ln -fs $(SHARED4) $(INSTALL_LIBDIR)/$(SHARED2) + ln -fs $(SHARED4) $(INSTALL_LIBDIR)/$(SHARED1) # install static by default + install shared if it exists install: install-static From d2235ab0a155dcc9e795bfef5c5312583d572e3b Mon Sep 17 00:00:00 2001 From: Jonny Heggheim Date: Fri, 31 Jul 2020 11:36:24 +0200 Subject: [PATCH 2/4] Updated make_package.sh to use DESTDIR and PREFIX --- build_tools/make_package.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_tools/make_package.sh b/build_tools/make_package.sh index 7b5c52cff26..c9c08fd59b2 100755 --- a/build_tools/make_package.sh +++ b/build_tools/make_package.sh @@ -103,7 +103,7 @@ function main() { gem_install fpm make static_lib - make install INSTALL_PATH=package + make install DESTDIR=package PREFIX="" cd package From fa214bf03ad4e103ad9f133f05bf3b8eb3690996 Mon Sep 17 00:00:00 2001 From: Jonny Heggheim Date: Fri, 31 Jul 2020 12:37:03 +0200 Subject: [PATCH 3/4] Simplified make_package amd make sure to not include lefterover from earlier builds --- build_tools/make_package.sh | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/build_tools/make_package.sh b/build_tools/make_package.sh index c9c08fd59b2..b9266476059 100755 --- a/build_tools/make_package.sh +++ b/build_tools/make_package.sh @@ -102,32 +102,28 @@ function main() { fi gem_install fpm + export FPM_OUTPUT="rpm" make static_lib - make install DESTDIR=package PREFIX="" - - cd package - - LIB_DIR=lib - if [[ -z "$ARCH" ]]; then - ARCH=$(getconf LONG_BIT) - fi - if [[ ("$FPM_OUTPUT" = "rpm") && ($ARCH -eq 64) ]]; then - mv lib lib64 - LIB_DIR=lib64 + LIBDIR=/usr/lib + if [[ $FPM_OUTPUT = "rpm" ]]; then + LIBDIR=$(rpm --eval '%_libdir') fi + rm -rf package + make install DESTDIR=package PREFIX=/usr LIBDIR=$LIBDIR + fpm \ -s dir \ -t $FPM_OUTPUT \ + -C package \ -n rocksdb \ -v $1 \ - --prefix /usr \ --url http://rocksdb.org/ \ -m rocksdb@fb.com \ --license BSD \ --vendor Facebook \ --description "RocksDB is an embeddable persistent key-value store for fast storage." \ - include $LIB_DIR + usr } # shellcheck disable=SC2068 From 17bf743d147a39cc1c6bcf95087de11285fcd971 Mon Sep 17 00:00:00 2001 From: Jonny Heggheim Date: Mon, 3 Aug 2020 15:12:55 +0200 Subject: [PATCH 4/4] Remove hard-coded varible used during testing --- build_tools/make_package.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/build_tools/make_package.sh b/build_tools/make_package.sh index b9266476059..68a5d8a7228 100755 --- a/build_tools/make_package.sh +++ b/build_tools/make_package.sh @@ -102,7 +102,6 @@ function main() { fi gem_install fpm - export FPM_OUTPUT="rpm" make static_lib LIBDIR=/usr/lib if [[ $FPM_OUTPUT = "rpm" ]]; then