Re: [ANNOUNCE] Stacked Git 0.15

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]