add custom git log to debian changelog script

This commit is contained in:
Antonio SJ Musumeci 2014-08-08 18:00:10 -04:00
parent 7e9ccd0317
commit 15f88494e4
5 changed files with 65 additions and 30 deletions

4
.gitignore vendored
View File

@ -11,3 +11,7 @@
*.lai
*.la
*.a
# Debian files
debian/files
debian/changelog

View File

@ -32,6 +32,7 @@ INSTALL = $(shell which install)
MKTEMP = $(shell which mktemp)
STRIP = $(shell which strip)
PANDOC = $(shell which pandoc)
GIT2DEBCL = ./tools/git2debcl
ifeq ($(PKGCONFIG),"")
$(error "pkg-config not installed"
@ -108,7 +109,7 @@ clean:
$(FIND) -name "*~" -delete
distclean: clean
$(GIT) clean -ifd
$(GIT) clean -fd
install: $(TARGET) $(MANPAGE)
$(INSTALL) -m 0755 -D "$(TARGET)" "$(INSTALLTARGET)"
@ -137,7 +138,7 @@ tarball: clean changelog man
deb:
$(eval VERSION := $(shell $(GIT) describe --always --tags --dirty))
$(GIT) dch --auto --release --new-version="$(VERSION)"
$(GIT2DEBCL) $(TARGET) $(VERSION) > debian/changelog
$(GIT) buildpackage --git-ignore-new
.PHONY: all clean install help

27
debian/changelog vendored
View File

@ -1,27 +0,0 @@
mergerfs (1.1.0) trusty; urgency=medium
* initial code commit
* fix building without libattr
* update build instructions in readme
* use {get,list,set}xattr to modify runtime
* use long instead of int to limit possibility of overflow in switch, closes #1
* add FS_IOC_{GET}VERSION to ioctl
* remove statfs policy
* fs::make_path should check for forward slashes, add if missing
* remove stat'ing of files in readdir. closes #3
* use eaccess to determine permissions for ffwp. closes #2
* rework policy code
* add fgetattr. closes #5
* when readdir's filler returns non-zero return ENOMEM. closes #7
* enhance Makefile
* further Makefile enhancements
* fix free space calculations. closes #8
* add debian package building
-- Antonio SJ Musumeci <trapexit@spawn.link> Fri, 30 May 2014 21:32:19 -0400
mergerfs (1.0.0) trusty; urgency=medium
* Initial commit
-- Antonio SJ Musumeci <trapexit@spawn.link> Fri, 30 May 2014 21:28:09 -0400

1
debian/files vendored
View File

@ -1 +0,0 @@
mergerfs_1.1.0_amd64.deb utils optional

58
tools/git2debcl Executable file
View File

@ -0,0 +1,58 @@
#!/usr/bin/python
# The MIT License (MIT)
# Copyright (c) 2014 Antonio SJ Musumeci <trapexit@spawn.link>
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
import sys
import subprocess
packagename = sys.argv[1]
version = sys.argv[2]
args = ["git", "tag", '-l']
tags = subprocess.check_output(args)
tags = tags.split()
tags.reverse()
if version in tags:
idx = tags.index(version)
tags = tags[idx:]
tags = zip(tags,tags)
else:
tags = zip(tags,tags)
tags.insert(0,(version,'HEAD'))
tag = tags[0]
for prev in tags[1:]:
print packagename, "("+tag[0]+")", "trusty;", "urgency=medium"
print
args = ['git','log','--oneline',tag[1]+'...'+prev[1]]
for line in subprocess.check_output(args).strip().split('\n'):
print " * " + line
print
args = ['git','log','-1','--format=-- %an <%ae> %cD',tag[1]]
authorandtime = subprocess.check_output(args).strip()
print ' ' + authorandtime + '\n'
tag = prev