Browse Source

add custom git log to debian changelog script

pull/37/merge
Antonio SJ Musumeci 10 years ago
parent
commit
15f88494e4
  1. 4
      .gitignore
  2. 5
      Makefile
  3. 27
      debian/changelog
  4. 1
      debian/files
  5. 58
      tools/git2debcl

4
.gitignore

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

5
Makefile

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

27
debian/changelog

@ -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

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

58
tools/git2debcl

@ -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
Loading…
Cancel
Save