Fix setup.py to generate the needed files
authorCatalin Marinas <catalin.marinas@gmail.com>
Wed, 28 Oct 2009 21:06:54 +0000 (21:06 +0000)
committerCatalin Marinas <catalin.marinas@gmail.com>
Wed, 28 Oct 2009 21:06:54 +0000 (21:06 +0000)
StGit was relying on Makefile to generate some files but this breaks
using setup.py directly for targets like rpm.

Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com>
Makefile
setup.cfg
setup.py

index 0fa5c6a..53c5694 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -4,20 +4,10 @@ PYTHON        ?= python
 
 TEST_PATCHES ?= ..
 
-all: build
+all:
        $(PYTHON) setup.py build
 
-build: stgit/commands/cmdlist.py stgit-completion.bash
-
-ALL_PY = $(shell find stgit -name '*.py')
-
-stgit/commands/cmdlist.py: $(ALL_PY)
-       $(PYTHON) stg-build --py-cmd-list > $@
-
-stgit-completion.bash: $(ALL_PY)
-       $(PYTHON) stg-build --bash-completion > $@
-
-install: build
+install:
        $(PYTHON) setup.py install --prefix=$(prefix) --root=$(DESTDIR) --force
 
 doc:
@@ -29,10 +19,11 @@ install-doc:
 install-html:
        $(MAKE) -C Documentation install-html
 
-test: build
+test:
+       $(PYTHON) setup.py build
        cd t && $(MAKE) all
 
-test_patches: build
+test_patches:
        for patch in $$(stg series --noprefix $(TEST_PATCHES)); do \
                stg goto $$patch && $(MAKE) test || break; \
        done
@@ -53,5 +44,5 @@ tags:
 TAGS:
        ctags -e -R stgit/*
 
-.PHONY: all build install doc install-doc install-html test test_patches \
+.PHONY: all install doc install-doc install-html test test_patches \
        clean tags TAGS
index 4359033..1eb8e9b 100644 (file)
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,2 +1,2 @@
 [install]
-prefix: ~
+prefix: /usr
index 3f5ccb2..12ed1db 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -4,6 +4,7 @@ import sys, glob, os
 from distutils.core import setup
 
 from stgit import version
+from stgit import commands, completion
 
 def __version_to_list(version):
     """Convert a version string to a list of numbers or strings
@@ -63,14 +64,24 @@ def __run_setup():
             ])
 
 # Check the minimum versions required
-if sys.argv[1] in ['install', 'build']:
-    __check_python_version()
-    __check_git_version()
+__check_python_version()
+__check_git_version()
 
 # ensure readable template files
 old_mask = os.umask(0022)
 
 version.write_builtin_version()
+
+# generate the python command list
+f = file('stgit/commands/cmdlist.py', 'w')
+commands.py_commands(commands.get_commands(allow_cached = False), f)
+f.close()
+
+# generate the bash completion script
+f = file('stgit-completion.bash', 'w')
+completion.write_completion(f)
+f.close()
+
 __run_setup()
 
 # restore the old mask