debian/rules
author Sean Farley <sean.michael.farley@gmail.com>
Fri, 25 Apr 2014 19:58:33 -0500
branchstable
changeset 923 a94ce5400e1b
parent 735 d3bfd03cb26e
child 999 38099dfdcbbe
permissions -rwxr-xr-x
evolve: protect call to rebase within a wlock (#42, #35, #16) Without a wlock, repo.commit would blow away the dirstate's parents on OSes that have no 'os.symlink' support in python, leading evolve to produce a merge instead of a rebase. If a user ran the rebase command instead of evolve, then things would work because rebase is wrapped in a giant wlock. Unfortunately, we can't use the same idea of wrapping the evolve command in one giant wlock because that's too early in the process. If the lock did wrap the entire evolve command, then the working directory would save its current parents which, since rebase hasn't been called yet, would be just p1. Therefore, we need to obtain the lock *after* the dirstate's parents are changed but *before* the call to rebase. This way ensures that when a conflict happens the working directory correctly shows both parent changeset.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
531
b18b00036355 pkg/debian: Debian packaging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     1
#!/usr/bin/make -f
b18b00036355 pkg/debian: Debian packaging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     2
735
d3bfd03cb26e debian: properly clean the docs build
Julien Cristau <julien.cristau@logilab.fr>
parents: 725
diff changeset
     3
clean %:
531
b18b00036355 pkg/debian: Debian packaging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     4
	dh $@ --with python2 --buildsystem=python_distutils
b18b00036355 pkg/debian: Debian packaging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     5
b18b00036355 pkg/debian: Debian packaging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     6
build:
b18b00036355 pkg/debian: Debian packaging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     7
	dh build --with python2 --buildsystem=python_distutils
b18b00036355 pkg/debian: Debian packaging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     8
	$(MAKE) -C docs
b18b00036355 pkg/debian: Debian packaging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
     9
725
235a942eba3f debian: honor nocheck in DEB_BUILD_OPTIONS
Julien Cristau <julien.cristau@logilab.fr>
parents: 535
diff changeset
    10
ifeq (,$(filter nocheck, $(DEB_BUILD_OPTIONS)))
531
b18b00036355 pkg/debian: Debian packaging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    11
override_dh_auto_test:
b18b00036355 pkg/debian: Debian packaging
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents:
diff changeset
    12
	cd tests &&  python run-tests.py --with-hg=`which hg`
725
235a942eba3f debian: honor nocheck in DEB_BUILD_OPTIONS
Julien Cristau <julien.cristau@logilab.fr>
parents: 535
diff changeset
    13
endif
535
47246c32e0fb pkg-debian: remove conflicting __init__.py files
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    14
47246c32e0fb pkg-debian: remove conflicting __init__.py files
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    15
override_dh_python2:
47246c32e0fb pkg-debian: remove conflicting __init__.py files
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    16
	# avoid conflict with mercurial's own hgext/__init__.py
47246c32e0fb pkg-debian: remove conflicting __init__.py files
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    17
	find debian -name __init__.py -delete
47246c32e0fb pkg-debian: remove conflicting __init__.py files
Pierre-Yves David <pierre-yves.david@logilab.fr>
parents: 531
diff changeset
    18
	dh_python2
735
d3bfd03cb26e debian: properly clean the docs build
Julien Cristau <julien.cristau@logilab.fr>
parents: 725
diff changeset
    19
d3bfd03cb26e debian: properly clean the docs build
Julien Cristau <julien.cristau@logilab.fr>
parents: 725
diff changeset
    20
clean: clean-docs
d3bfd03cb26e debian: properly clean the docs build
Julien Cristau <julien.cristau@logilab.fr>
parents: 725
diff changeset
    21
d3bfd03cb26e debian: properly clean the docs build
Julien Cristau <julien.cristau@logilab.fr>
parents: 725
diff changeset
    22
clean-docs:
d3bfd03cb26e debian: properly clean the docs build
Julien Cristau <julien.cristau@logilab.fr>
parents: 725
diff changeset
    23
	rm -rf html
d3bfd03cb26e debian: properly clean the docs build
Julien Cristau <julien.cristau@logilab.fr>
parents: 725
diff changeset
    24
	rm -f docs/static/logo-evolve.ico
d3bfd03cb26e debian: properly clean the docs build
Julien Cristau <julien.cristau@logilab.fr>
parents: 725
diff changeset
    25
	rm -f docs/tutorials/tutorial.rst
d3bfd03cb26e debian: properly clean the docs build
Julien Cristau <julien.cristau@logilab.fr>
parents: 725
diff changeset
    26
d3bfd03cb26e debian: properly clean the docs build
Julien Cristau <julien.cristau@logilab.fr>
parents: 725
diff changeset
    27
.PHONY: build clean clean-docs