2009/10/25 Catalin Marinas <catalin.marinas@xxxxxxxxx>: > 2009/10/25 Jakub Narebski <jnareb@xxxxxxxxx>: >> Catalin Marinas <catalin.marinas@xxxxxxxxx> writes: >> >>> StGit is a Python application providing functionality similar to Quilt >>> (i.e. pushing/popping patches to/from a stack) on top of Git. These >>> operations are performed using Git commands, and the patches are >>> stored as Git commit objects, allowing easy merging of the StGit >>> patches into other repositories using standard Git functionality. >>> >>> Download: http://download.gna.org/stgit/stgit-0.15.tar.gz >>> Main repository: git://repo.or.cz/stgit.git >>> Project homepage: http://www.procode.org/stgit/ >>> Mailing list: git@xxxxxxxxxxxxxxx (please use "StGit" in the subject) >>> Bug tracker: https://gna.org/bugs/?group=stgit >> >> Is there RPM or SRPM (src.rpm) available somewhere? Or does tarball >> include *.spec file, or an rpm target? > > Late last night when running my release script I realised that > setup.py no longer accepts the --prefix=/usr option I used for RPMs. > I'll try to build one in the next couple of days (I wasn't even sure > anyone was using it). The problem was a bit more complicated than this. Some files are generated by the Makefile rather than setup.py so using the latter directly fails to build anything. So it's time for 0.15.1 this week with the fix below (in my "proposed" branch). I cc'ed Karl as well in case he has time to have a quick look. Fix setup.py to generate the needed files From: Catalin Marinas <catalin.marinas@xxxxxxxxx> 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@xxxxxxxxx> --- Makefile | 20 +++++--------------- setup.cfg | 2 +- setup.py | 17 ++++++++++++++--- 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/Makefile b/Makefile index 0fa5c6a..5f88f7d 100644 --- 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,10 @@ install-doc: install-html: $(MAKE) -C Documentation install-html -test: build +test: 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 +43,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 diff --git a/setup.cfg b/setup.cfg index 4359033..1eb8e9b 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,2 +1,2 @@ [install] -prefix: ~ +prefix: /usr diff --git a/setup.py b/setup.py index 3f5ccb2..12ed1db 100755 --- 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 -- Catalin -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html