| ... | ... |
@@ -1,5 +1,9 @@ |
| 1 | 1 |
DOCKER_PACKAGE := github.com/dotcloud/docker |
| 2 |
+RELEASE_VERSION := $(shell git tag | grep -E "v[0-9\.]+$$" | sort -nr | head -n 1) |
|
| 3 |
+SRCRELEASE := docker-$(RELEASE_VERSION) |
|
| 4 |
+BINRELEASE := docker-$(RELEASE_VERSION).tgz |
|
| 2 | 5 |
|
| 6 |
+GIT_ROOT := $(shell git rev-parse --show-toplevel) |
|
| 3 | 7 |
BUILD_DIR := $(CURDIR)/.gopath |
| 4 | 8 |
|
| 5 | 9 |
GOPATH ?= $(BUILD_DIR) |
| ... | ... |
@@ -23,7 +27,7 @@ DOCKER_MAIN := $(DOCKER_DIR)/docker |
| 23 | 23 |
DOCKER_BIN_RELATIVE := bin/docker |
| 24 | 24 |
DOCKER_BIN := $(CURDIR)/$(DOCKER_BIN_RELATIVE) |
| 25 | 25 |
|
| 26 |
-.PHONY: all clean test hack |
|
| 26 |
+.PHONY: all clean test hack release $(BINRELEASE) $(SRCRELEASE) |
|
| 27 | 27 |
|
| 28 | 28 |
all: $(DOCKER_BIN) |
| 29 | 29 |
|
| ... | ... |
@@ -36,6 +40,21 @@ $(DOCKER_DIR): |
| 36 | 36 |
@mkdir -p $(dir $@) |
| 37 | 37 |
@ln -sf $(CURDIR)/ $@ |
| 38 | 38 |
|
| 39 |
+whichrelease: |
|
| 40 |
+ echo $(RELEASE_VERSION) |
|
| 41 |
+ |
|
| 42 |
+release: $(BINRELEASE) |
|
| 43 |
+ |
|
| 44 |
+$(SRCRELEASE): |
|
| 45 |
+ rm -fr $(SRCRELEASE) |
|
| 46 |
+ git clone $(GIT_ROOT) $(SRCRELEASE) |
|
| 47 |
+ cd $(SRCRELEASE); git checkout -b $(RELEASE_VERSION) |
|
| 48 |
+ |
|
| 49 |
+# A binary release ready to be uploaded to a mirror |
|
| 50 |
+$(BINRELEASE): $(SRCRELEASE) |
|
| 51 |
+ rm -f $(BINRELEASE) |
|
| 52 |
+ cd $(SRCRELEASE); make; cp -R bin docker-$(RELEASE_VERSION); tar -f ../$(BINRELEASE) -zv -c docker-$(RELEASE_VERSION) |
|
| 53 |
+ |
|
| 39 | 54 |
clean: |
| 40 | 55 |
@rm -rf $(dir $(DOCKER_BIN)) |
| 41 | 56 |
ifeq ($(GOPATH), $(BUILD_DIR)) |