##// END OF EJS Templates
rebase: clear updatestate during rebase --abort in more cases...
rebase: clear updatestate during rebase --abort in more cases Previously, rebase --abort would only call update if you were on a node that had already been rebased. This meant that if the rebase failed during the rebase of the first commit, the working copy would be left dirty (with a .hg/updatestate file) and rebase --abort would not have update to clean it up. The fix is to also perform an update if you're still on the target node or on the original working copy node (since the working copy may be dirty, we still need to do the update). We don't want to perform an update in all cases though because of issue4009. A subsequent patch makes this case much more common, since it causes the entire rebase transaction to rollback during unexpected exceptions. This causes the existing test-rebase-abort.t to cover this case.

File last commit:

r27230:9f8b8c4e default
r31222:56d3e0b4 default
Show More
Makefile.python
76 lines | 3.1 KiB | text/x-makefile | MakefileLexer
Mads Kiilerich
contrib: offer Python 2.7.10
r26735 PYTHONVER=2.7.10
Mads Kiilerich
contrib/Makefile.python: build local Python from source...
r20388 PYTHONNAME=python-
PREFIX=$(HOME)/bin/prefix-$(PYTHONNAME)$(PYTHONVER)
SYMLINKDIR=$(HOME)/bin
help:
@echo
@echo 'Make a custom installation of a Python version'
@echo
@echo 'Common make parameters:'
@echo ' PYTHONVER=... [$(PYTHONVER)]'
@echo ' PREFIX=... [$(PREFIX)]'
@echo ' SYMLINKDIR=... [$(SYMLINKDIR) creating $(PYTHONNAME)$(PYTHONVER)]'
@echo
@echo 'Common make targets:'
@echo ' python - install Python $$PYTHONVER in $$PREFIX'
@echo ' symlink - create a $$SYMLINKDIR/$(PYTHONNAME)$$PYTHONVER symlink'
@echo
@echo 'Example: create a temporary Python installation:'
Mads Kiilerich
contrib: offer Python 2.7.10
r26735 @echo ' $$ make -f Makefile.python python PYTHONVER=${PYTHONVER} PREFIX=/tmp/p27'
@echo ' $$ /tmp/p27/bin/python -V'
@echo ' Python 2.7'
Mads Kiilerich
contrib/Makefile.python: build local Python from source...
r20388 @echo
@echo 'Some external libraries are required for building Python: zlib bzip2 openssl.'
@echo 'Make sure their development packages are installed systemwide.'
# fedora: yum install zlib-devel bzip2-devel openssl-devel
# debian: apt-get install zlib1g-dev libbz2-dev libssl-dev
@echo
@echo 'To build a nice collection of interesting Python versions:'
Mads Kiilerich
contrib: offer Python 2.7.10
r26735 @echo ' $$ for v in 2.{6{,.1,.2,.9},7{,.8,.10}}; do'
Mads Kiilerich
contrib/Makefile.python: build local Python from source...
r20388 @echo ' make -f Makefile.python symlink PYTHONVER=$$v || break; done'
@echo 'To run a Mercurial test on all these Python versions:'
@echo ' $$ for py in `cd ~/bin && ls $(PYTHONNAME)2.*`; do'
@echo ' echo $$py; $$py run-tests.py test-http.t; echo; done'
@echo
export LANGUAGE=C
export LC_ALL=C
python: $(PREFIX)/bin/python docutils
Mads Kiilerich
contrib: drop Python < 2.6 from Makefile.python
r26734 printf 'import sys, zlib, bz2, docutils, ssl' | $(PREFIX)/bin/python
Mads Kiilerich
contrib/Makefile.python: build local Python from source...
r20388
PYTHON_SRCDIR=Python-$(PYTHONVER)
PYTHON_SRCFILE=$(PYTHON_SRCDIR).tgz
$(PREFIX)/bin/python:
Augie Fackler
Makefile.python: try curl if wget fails...
r23824 [ -f $(PYTHON_SRCFILE) ] || wget http://www.python.org/ftp/python/$(PYTHONVER)/$(PYTHON_SRCFILE) || curl -OL http://www.python.org/ftp/python/$(PYTHONVER)/$(PYTHON_SRCFILE) || [ -f $(PYTHON_SRCFILE) ]
Mads Kiilerich
contrib/Makefile.python: build local Python from source...
r20388 rm -rf $(PYTHON_SRCDIR)
tar xf $(PYTHON_SRCFILE)
Yuya Nishihara
contrib: disable SSLv3_method() to build old Python with recent libssl...
r27230 # Debian/Ubuntu disables SSLv2,3 the hard way, disable it on old Pythons too
-sed -i 's,self.*SSLv[23]_method(),0;//\0,g' $(PYTHON_SRCDIR)/Modules/_ssl.c
Mads Kiilerich
contrib/Makefile.python: build local Python from source...
r20388 # Find multiarch system libraries on Ubuntu and disable fortify error when setting argv
LDFLAGS="-L/usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`"; \
BASECFLAGS=-U_FORTIFY_SOURCE; \
export LDFLAGS BASECFLAGS; \
cd $(PYTHON_SRCDIR) && ./configure --prefix=$(PREFIX) && make all SVNVERSION=pwd && make install
Mads Kiilerich
contrib: drop Python < 2.6 from Makefile.python
r26734 printf 'import sys, zlib, bz2, ssl' | $(PREFIX)/bin/python
Mads Kiilerich
contrib/Makefile.python: build local Python from source...
r20388 rm -rf $(PYTHON_SRCDIR)
Mads Kiilerich
contrib: update build defaults to latest Python and docutils versions...
r23140 DOCUTILSVER=0.12
Mads Kiilerich
contrib/Makefile.python: build local Python from source...
r20388 DOCUTILS_SRCDIR=docutils-$(DOCUTILSVER)
DOCUTILS_SRCFILE=$(DOCUTILS_SRCDIR).tar.gz
docutils: $(PREFIX)/bin/python
@$(PREFIX)/bin/python -c 'import docutils' || ( set -ex; \
[ -f $(DOCUTILS_SRCFILE) ] || wget http://downloads.sourceforge.net/project/docutils/docutils/$(DOCUTILSVER)/$(DOCUTILS_SRCFILE) || [ -f $(DOCUTILS_SRCFILE) ]; \
rm -rf $(DOCUTILS_SRCDIR); \
tar xf $(DOCUTILS_SRCFILE); \
cd $(DOCUTILS_SRCDIR) && $(PREFIX)/bin/python setup.py install --prefix=$(PREFIX); \
$(PREFIX)/bin/python -c 'import docutils'; \
rm -rf $(DOCUTILS_SRCDIR); )
symlink: python $(SYMLINKDIR)
ln -sf $(PREFIX)/bin/python $(SYMLINKDIR)/$(PYTHONNAME)$(PYTHONVER)
.PHONY: help python docutils symlink