From 07eb9999f2c2f1fdf5548d47f53cb69faa7b85d9 Mon Sep 17 00:00:00 2001
From: Zooko O'Whielacronx <zooko@allmydata.com>
Date: Mon, 30 Apr 2007 17:49:10 -0700
Subject: [PATCH] install libs into instdir/lib and scripts into instdir/bin

---
 GNUmakefile | 18 +++++++++---------
 README      | 11 ++++++-----
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index 31c36ff2..3fa3bd0b 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -36,33 +36,33 @@ else
 endif
 
 ifneq ($(PYTHONPATH),)
-PYTHONPATH := "$(PYTHONPATH)$(PATHSEP)$(INSTDIR)"
+PYTHONPATH := "$(PYTHONPATH)$(PATHSEP)$(INSTDIR)/lib"
 else
-PYTHONPATH := "$(INSTDIR)"
+PYTHONPATH := "$(INSTDIR)/lib"
 endif
 
 TRIAL=$(PYTHON) -u "$(TRIALPATH)" --rterrors --reactor=$(REACTOR)
 
 show-instdir:
-	@echo $(INSTDIR)
+	@echo $(INSTDIR)/lib
 
 PP=PYTHONPATH=$(PYTHONPATH)
 
 .PHONY: build
 build: build-zfec build-Crypto build-foolscap
-	$(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --prefix="" --root="$(INSTDIR)" --install-lib="" --install-scripts="scripts"
+	$(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --prefix="." --root="$(INSTDIR)" --install-lib="lib" --install-scripts="bin"
 
 build-zfec:
 	cd src/zfec &&  \
-	$(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --prefix="" --root="$(INSTDIR)" --install-lib="" --install-scripts="scripts"
+	$(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --prefix="." --root="$(INSTDIR)" --install-lib="lib" --install-scripts="bin"
 
 build-foolscap:
 	cd src/foolscap && \
-	$(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --prefix="" --root="$(INSTDIR)" --install-lib="" --install-scripts="scripts"
+	$(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --prefix="." --root="$(INSTDIR)" --install-lib="lib" --install-scripts="bin"
 
 build-Crypto:
 	cd src/Crypto && \
-	$(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --prefix="" --root="$(INSTDIR)" --install-lib="" --install-scripts="scripts"
+	$(PP) $(PYTHON) ./setup.py $(EXTRA_SETUP_ARGS) install --prefix="." --root="$(INSTDIR)" --install-lib="lib" --install-scripts="bin"
 
 clean-zfec:
 	-cd src/zfec && \
@@ -120,7 +120,7 @@ test-figleaf: build
 	$(PP) $(TRIAL) --reporter=bwverbose-figleaf $(TEST)
 
 figleaf-output:
-	$(PP) $(PYTHON) misc/figleaf2html -d coverage-html -r $(INSTDIR) -x misc/figleaf.excludes
+	$(PP) $(PYTHON) misc/figleaf2html -d coverage-html -r $(INSTDIR)/lib -x misc/figleaf.excludes
 	@echo "now point your browser at coverage-html/index.html"
 # after doing test-figleaf and figleaf-output, point your browser at
 # coverage-html/index.html
@@ -136,7 +136,7 @@ upload-figleaf:
 endif
 
 .figleaf.el: .figleaf
-	$(PP) $(PYTHON) misc/figleaf2el.py .figleaf $(INSTDIR)
+	$(PP) $(PYTHON) misc/figleaf2el.py .figleaf $(INSTDIR)/lib
 
 pyflakes:
 	$(PP) $(PYTHON) -OOu `which pyflakes` src/allmydata
diff --git a/README b/README
index 9ca421a8..71f5990b 100644
--- a/README
+++ b/README
@@ -130,7 +130,8 @@ INSTALLING:
 
   To run from a source tree (without installing first), type 'make', which
   will put all the necessary libraries into a local directory named
-  "./instdir/", which you can then add to your PYTHONPATH .
+  "./instdir/lib", which you can then add to your PYTHONPATH .  (It will put
+  executables into "./instdir/bin".)
 
 
  To Test That It Is Properly Installed:
@@ -152,10 +153,10 @@ RUNNING:
 
  If you installed one of the debian packages constructed by "make deb-*" then
  it creates an 'allmydata-tahoe' executable, usually in /usr/bin . If you
- didn't install a package you can find allmydata-tahoe in bin/ . This tool is
- used to create, start, and stop nodes. Each node lives in a separate base
- directory, inside of which you can add files to configure and control the
- node. Nodes also read and write files within that directory.
+ didn't install a package you can find allmydata-tahoe in ./instdir/bin/
+ . This tool is used to create, start, and stop nodes. Each node lives in a
+ separate base directory, inside of which you can add files to configure and
+ control the node. Nodes also read and write files within that directory.
 
  A grid consists of a single central 'introducer and vdrive' node and a large
  number of 'client' nodes. If you are joining an existing grid, the
-- 
2.45.2