Browse code

Packaging|ubuntu, issue #954: Generate debian/changelog from main CHANGELOG.md

Daniel Mizyrycki authored on 2013/06/20 08:31:55
Showing 3 changed files
... ...
@@ -1,6 +1,6 @@
1 1
 # Ubuntu package Makefile
2 2
 #
3
-# Dependencies:  debhelper autotools-dev devscripts golang
3
+# Dependencies:  debhelper autotools-dev devscripts golang-stable
4 4
 # Notes:
5 5
 # Use 'make ubuntu' to create the ubuntu package
6 6
 # GPG_KEY environment variable needs to contain a GPG private key for package to be signed
... ...
@@ -9,12 +9,9 @@
9 9
 # status code 2
10 10
 
11 11
 PKG_NAME=lxc-docker
12
-VERSION=$(shell head -1 changelog | sed 's/^.\+(\(.\+\)..).\+$$/\1/')
13 12
 GITHUB_PATH=github.com/dotcloud/docker
14
-DOCKER_VERSION=${PKG_NAME}_${VERSION}
15
-DOCKER_FVERSION=${PKG_NAME}_$(shell head -1 changelog | sed 's/^.\+(\(.\+\)).\+$$/\1/')
16 13
 BUILD_SRC=${CURDIR}/../../build_src
17
-VERSION_TAG=v$(shell head -1 changelog | sed 's/^.\+(\(.\+\)-[0-9]\+).\+$$/\1/')
14
+VERSION=$(shell sed -En '0,/^\#\# /{s/^\#\# ([^ ]+).+/\1/p}' ../../CHANGELOG.md)
18 15
 
19 16
 all:
20 17
 	# Compile docker. Used by dpkg-buildpackage.
... ...
@@ -35,18 +32,19 @@ ubuntu:
35 35
 	# Retrieve docker project and its go structure from internet
36 36
 	rm -rf ${BUILD_SRC}
37 37
 	git clone $(shell git rev-parse --show-toplevel) ${BUILD_SRC}/${GITHUB_PATH}
38
-	cd ${BUILD_SRC}/${GITHUB_PATH}; git checkout ${VERSION_TAG} && GOPATH=${BUILD_SRC} go get -d
38
+	cd ${BUILD_SRC}/${GITHUB_PATH}; git checkout v${VERSION} && GOPATH=${BUILD_SRC} go get -d
39 39
 	# Add debianization
40 40
 	mkdir ${BUILD_SRC}/debian
41 41
 	cp Makefile ${BUILD_SRC}
42 42
 	cp -r * ${BUILD_SRC}/debian
43 43
 	cp ../../README.md ${BUILD_SRC}
44
+	./parse_changelog.py < ../../CHANGELOG.md  > ${BUILD_SRC}/debian/changelog
44 45
 	# Cleanup
45 46
 	for d in `find ${BUILD_SRC} -name '.git*'`; do rm -rf $$d; done
46
-	rm -rf ${BUILD_SRC}/../${DOCKER_VERSION}.orig.tar.gz
47
+	rm -rf ${BUILD_SRC}/../${PKG_NAME}_${VERSION}.orig.tar.gz
47 48
 	rm -rf ${BUILD_SRC}/pkg
48 49
 	# Create docker debian files
49
-	cd ${BUILD_SRC}; tar czf ../${DOCKER_VERSION}.orig.tar.gz .
50
+	cd ${BUILD_SRC}; tar czf ../${PKG_NAME}_${VERSION}.orig.tar.gz .
50 51
 	cd ${BUILD_SRC}; dpkg-buildpackage -us -uc
51 52
 	rm -rf ${BUILD_SRC}
52 53
 	# Sign package and upload it to PPA if GPG_KEY environment variable
... ...
@@ -56,7 +54,7 @@ ubuntu:
56 56
 	# Import gpg signing key
57 57
 	echo "$${GPG_KEY}" | gpg --allow-secret-key-import --import
58 58
 	# Sign the package
59
-	cd ${BUILD_SRC}; dpkg-source -x ${BUILD_SRC}/../${DOCKER_FVERSION}.dsc
59
+	cd ${BUILD_SRC}; dpkg-source -x ${BUILD_SRC}/../${PKG_NAME}_${VERSION}-1.dsc
60 60
 	cd ${BUILD_SRC}/${PKG_NAME}-${VERSION}; debuild -S -sa
61
-	cd ${BUILD_SRC};dput ppa:dotcloud/lxc-docker ${DOCKER_FVERSION}_source.changes
61
+	cd ${BUILD_SRC};dput ppa:dotcloud/lxc-docker ${PKG_NAME}_${VERSION}-1_source.changes
62 62
 	rm -rf ${BUILD_SRC}
63 63
deleted file mode 100644
... ...
@@ -1,246 +0,0 @@
1
-lxc-docker (0.4.2-1) precise; urgency=low
2
-  - Packaging: Bumped version to work around an Ubuntu bug
3
-
4
- -- dotCloud <ops@dotcloud.com>  Mon, 17 Jun 2013 00:00:00 -0700
5
-
6
-lxc-docker (0.4.1-1) precise; urgency=low
7
-  - Builder: don't ignore last line in Dockerfile when it doesn't end with \n
8
-  - Client: allow multiple params in inspect
9
-  - Client: Print the container id before the hijack in `docker run`
10
-  - Remote Api: Add flag to enable cross domain requests
11
-  - Remote Api/Client: Add images and containers sizes in docker ps and docker images
12
-  - Registry: add regexp check on repo's name
13
-  - Registry: Move auth to the client
14
-  - Registry: Remove login check on pull
15
-  - Runtime: Configure dns configuration host-wide with 'docker -d -dns'
16
-  - Runtime: Detect faulty DNS configuration and replace it with a public default
17
-  - Runtime: allow docker run <name>:<id>
18
-  - Runtime: you can now specify public port (ex: -p 80:4500)
19
-  - Runtime: improved image removal to garbage-collect unreferenced parents
20
-  - Vagrantfile: Add the rest api port to vagrantfile's port_forward
21
-  - Upgrade to Go 1.1
22
-
23
- -- dotCloud <ops@dotcloud.com>  Mon, 17 Jun 2013 00:00:00 -0700
24
-
25
-lxc-docker (0.4.0-1) precise; urgency=low
26
-  - Introducing Builder: 'docker build' builds a container, layer by layer, from a source repository containing a Dockerfile
27
-  - Introducing Remote API: control Docker programmatically using a simple HTTP/json API
28
-  - Runtime: various reliability and usability improvements
29
-
30
- -- dotCloud <ops@dotcloud.com>  Mon, 03 Jun 2013 00:00:00 -0700
31
-
32
-lxc-docker (0.3.4-1) precise; urgency=low
33
-  - Builder: 'docker build' builds a container, layer by layer, from a source repository containing a Dockerfile
34
-  - Builder: 'docker build -t FOO' applies the tag FOO to the newly built container.
35
-  - Runtime: interactive TTYs correctly handle window resize
36
-  - Runtime: fix how configuration is merged between layers
37
-  - Remote API: split stdout and stderr on 'docker run'
38
-  - Remote API: optionally listen on a different IP and port (use at your own risk)
39
-  - Documentation: improved install instructions.
40
-
41
- -- dotCloud <ops@dotcloud.com>  Thu, 30 May 2013 00:00:00 -0700
42
-
43
-
44
-lxc-docker (0.3.3-1) precise; urgency=low
45
-  - Registry: Fix push regression
46
-  - Various bugfixes
47
-
48
- -- dotCloud <ops@dotcloud.com>  Thu, 23 May 2013 00:00:00 -0700
49
-
50
-
51
-lxc-docker (0.3.2-1) precise; urgency=low
52
-  - Runtime: Store the actual archive on commit
53
-  - Registry: Improve the checksum process
54
-  - Registry: Use the size to have a good progress bar while pushing
55
-  - Registry: Use the actual archive if it exists in order to speed up the push
56
-  - Registry: Fix error 400 on push
57
-
58
- -- dotCloud <ops@dotcloud.com>  Fri, 9 May 2013 00:00:00 -0700
59
-
60
-
61
-lxc-docker (0.3.1-1) precise; urgency=low
62
-  - Builder: Implement the autorun capability within docker builder
63
-  - Builder: Add caching to docker builder
64
-  - Builder: Add support for docker builder with native API as top level command
65
-  - Runtime: Add go version to debug infos
66
-  - Builder: Implement ENV within docker builder
67
-  - Registry: Add docker search top level command in order to search a repository
68
-  - Images: output graph of images to dot (graphviz)
69
-  - Documentation: new introduction and high-level overview
70
-  - Documentation: Add the documentation for docker builder
71
-  - Website: new high-level overview
72
-  - Makefile: Swap "go get" for "go get -d", especially to compile on go1.1rc
73
-  - Images: fix ByParent function
74
-  - Builder: Check the command existance prior create and add Unit tests for the case
75
-  - Registry: Fix pull for official images with specific tag
76
-  - Registry: Fix issue when login in with a different user and trying to push
77
-  - Documentation: CSS fix for docker documentation to make REST API docs look better.
78
-  - Documentation: Fixed CouchDB example page header mistake
79
-  - Documentation: fixed README formatting
80
-  - Registry: Improve checksum - async calculation
81
-  - Runtime: kernel version - don't show the dash if flavor is empty
82
-  - Documentation: updated www.docker.io website.
83
-  - Builder: use any whitespaces instead of tabs
84
-  - Packaging: packaging ubuntu; issue #510: Use goland-stable PPA package to build docker
85
-
86
- -- dotCloud <ops@dotcloud.com>  Fri, 8 May 2013 00:00:00 -0700
87
-
88
-
89
-lxc-docker (0.3.0-1) precise; urgency=low
90
-  - Registry: Implement the new registry
91
-  - Documentation: new example: sharing data between 2 couchdb databases
92
-  - Runtime: Fix the command existance check
93
-  - Runtime: strings.Split may return an empty string on no match
94
-  - Runtime: Fix an index out of range crash if cgroup memory is not
95
-  - Documentation: Various improvments
96
-  - Vagrant: Use only one deb line in /etc/apt
97
-
98
- -- dotCloud <ops@dotcloud.com>  Fri, 5 May 2013 00:00:00 -0700
99
-
100
-
101
-lxc-docker (0.2.2-1) precise; urgency=low
102
-  - Support for data volumes ('docker run -v=PATH')
103
-  - Share data volumes between containers ('docker run -volumes-from')
104
-  - Improved documentation
105
-  - Upgrade to Go 1.0.3
106
-  - Various upgrades to the dev environment for contributors
107
-
108
- -- dotCloud <ops@dotcloud.com>  Fri, 3 May 2013 00:00:00 -0700
109
-
110
-
111
-lxc-docker (0.2.1-1) precise; urgency=low
112
-
113
-  - 'docker commit -run' bundles a layer with default runtime options: command, ports etc.
114
-  - Improve install process on Vagrant
115
-  - New Dockerfile operation: "maintainer"
116
-  - New Dockerfile operation: "expose"
117
-  - New Dockerfile operation: "cmd"
118
-  - Contrib script to build a Debian base layer
119
-  - 'docker -d -r': restart crashed containers at daemon startup
120
-  - Runtime: improve test coverage
121
-
122
- -- dotCloud <ops@dotcloud.com>  Wed, 1 May 2013 00:00:00 -0700
123
-
124
-
125
-lxc-docker (0.2.0-1) precise; urgency=low
126
-
127
-  - Runtime: ghost containers can be killed and waited for
128
-  - Documentation: update install intructions
129
-  - Packaging: fix Vagrantfile
130
-  - Development: automate releasing binaries and ubuntu packages
131
-  - Add a changelog
132
-  - Various bugfixes
133
-
134
- -- dotCloud <ops@dotcloud.com>  Mon, 23 Apr 2013 00:00:00 -0700
135
-
136
-
137
-lxc-docker (0.1.8-1) precise; urgency=low
138
-
139
-  - Dynamically detect cgroup capabilities
140
-  - Issue stability warning on kernels <3.8
141
-  - 'docker push' buffers on disk instead of memory
142
-  - Fix 'docker diff' for removed files
143
-  - Fix 'docker stop' for ghost containers
144
-  - Fix handling of pidfile
145
-  - Various bugfixes and stability improvements
146
-
147
- -- dotCloud <ops@dotcloud.com>  Mon, 22 Apr 2013 00:00:00 -0700
148
-
149
-
150
-lxc-docker (0.1.7-1) precise; urgency=low
151
-
152
-  - Container ports are available on localhost
153
-  - 'docker ps' shows allocated TCP ports
154
-  - Contributors can run 'make hack' to start a continuous integration VM
155
-  - Streamline ubuntu packaging & uploading
156
-  - Various bugfixes and stability improvements
157
-
158
- -- dotCloud <ops@dotcloud.com>  Thu, 18 Apr 2013 00:00:00 -0700
159
-
160
-
161
-lxc-docker (0.1.6-1) precise; urgency=low
162
-
163
-  - Record the author an image with 'docker commit -author'
164
-
165
- -- dotCloud <ops@dotcloud.com>  Wed, 17 Apr 2013 00:00:00 -0700
166
-
167
-
168
-lxc-docker (0.1.5-1) precise; urgency=low
169
-
170
-  - Disable standalone mode
171
-  - Use a custom DNS resolver with 'docker -d -dns'
172
-  - Detect ghost containers
173
-  - Improve diagnosis of missing system capabilities
174
-  - Allow disabling memory limits at compile time
175
-  - Add debian packaging
176
-  - Documentation: installing on Arch Linux
177
-  - Documentation: running Redis on docker
178
-  - Fixed lxc 0.9 compatibility
179
-  - Automatically load aufs module
180
-  - Various bugfixes and stability improvements
181
-
182
- -- dotCloud <ops@dotcloud.com>  Wed, 17 Apr 2013 00:00:00 -0700
183
-
184
-
185
-lxc-docker (0.1.4-1) precise; urgency=low
186
-
187
-  - Full support for TTY emulation
188
-  - Detach from a TTY session with the escape sequence `C-p C-q`
189
-  - Various bugfixes and stability improvements
190
-  - Minor UI improvements
191
-  - Automatically create our own bridge interface 'docker0'
192
-
193
- -- dotCloud <ops@dotcloud.com>  Tue,  9 Apr 2013 00:00:00 -0700
194
-
195
-
196
-lxc-docker (0.1.3-1) precise; urgency=low
197
-
198
-  - Choose TCP frontend port with '-p :PORT'
199
-  - Layer format is versioned
200
-  - Major reliability improvements to the process manager
201
-  - Various bugfixes and stability improvements
202
-
203
- -- dotCloud <ops@dotcloud.com>  Thu,  4 Apr 2013 00:00:00 -0700
204
-
205
-
206
-lxc-docker (0.1.2-1) precise; urgency=low
207
-
208
-  - Set container hostname with 'docker run -h'
209
-  - Selective attach at run with 'docker run -a [stdin[,stdout[,stderr]]]'
210
-  - Various bugfixes and stability improvements
211
-  - UI polish
212
-  - Progress bar on push/pull
213
-  - Use XZ compression by default
214
-  - Make IP allocator lazy
215
-
216
- -- dotCloud <ops@dotcloud.com>  Wed,  3 Apr 2013 00:00:00 -0700
217
-
218
-
219
-lxc-docker (0.1.1-1) precise; urgency=low
220
-
221
-  - Display shorthand IDs for convenience
222
-  - Stabilize process management
223
-  - Layers can include a commit message
224
-  - Simplified 'docker attach'
225
-  - Fixed support for re-attaching
226
-  - Various bugfixes and stability improvements
227
-  - Auto-download at run
228
-  - Auto-login on push
229
-  - Beefed up documentation
230
-
231
- -- dotCloud <ops@dotcloud.com>  Sun, 31 Mar 2013 00:00:00 -0700
232
-
233
-
234
-lxc-docker (0.1.0-1) precise; urgency=low
235
-
236
-  - First release
237
-  - Implement registry in order to push/pull images
238
-  - TCP port allocation
239
-  - Fix termcaps on Linux
240
-  - Add documentation
241
-  - Add Vagrant support with Vagrantfile
242
-  - Add unit tests
243
-  - Add repository/tags to ease image management
244
-  - Improve the layer implementation
245
-
246
- -- dotCloud <ops@dotcloud.com>  Sat, 23 Mar 2013 00:00:00 -0700
247 1
new file mode 100755
... ...
@@ -0,0 +1,23 @@
0
+#!/usr/bin/env python
1
+
2
+'Parse main CHANGELOG.md from stdin outputing on stdout the ubuntu changelog'
3
+
4
+import sys,re, datetime
5
+
6
+on_block=False
7
+for line in sys.stdin.readlines():
8
+    line = line.strip()
9
+    if line.startswith('# ') or len(line) == 0:
10
+        continue
11
+    if line.startswith('## '):
12
+        if on_block:
13
+            print '\n -- dotCloud <ops@dotcloud.com>  {0}\n'.format(date)
14
+        version, date = line[3:].split()
15
+        date = datetime.datetime.strptime(date, '(%Y-%m-%d)').strftime(
16
+            '%a, %d %b %Y 00:00:00 -0700')
17
+        on_block = True
18
+        print 'lxc-docker ({0}-1) precise; urgency=low'.format(version)
19
+        continue
20
+    if on_block:
21
+        print '  ' + line
22
+print '\n -- dotCloud <ops@dotcloud.com>  {0}'.format(date)