mirror of
https://github.com/trapexit/mergerfs.git
synced 2025-02-20 08:43:02 +08:00
commit
2cc9b42c9c
37
Makefile
37
Makefile
|
@ -81,10 +81,16 @@ CFLAGS = -g -Wall \
|
||||||
-DWRITE_BUF=$(WRITE_BUF)
|
-DWRITE_BUF=$(WRITE_BUF)
|
||||||
LDFLAGS = $(shell $(PKGCONFIG) fuse --libs)
|
LDFLAGS = $(shell $(PKGCONFIG) fuse --libs)
|
||||||
|
|
||||||
BINDIR = $(PREFIX)/usr/bin
|
PREFIX = /usr/local
|
||||||
MANDIR = $(PREFIX)/usr/share/man/man1
|
EXEC_PREFIX = $(PREFIX)
|
||||||
|
DATAROOTDIR = $(PREFIX)/share
|
||||||
|
DATADIR = $(DATAROOTDIR)
|
||||||
|
BINDIR = $(EXEC_PREFIX)/bin
|
||||||
|
MANDIR = $(DATAROOTDIR)/man
|
||||||
|
MAN1DIR = $(MANDIR)/man1
|
||||||
|
|
||||||
INSTALLBINDIR = $(DESTDIR)$(BINDIR)
|
INSTALLBINDIR = $(DESTDIR)$(BINDIR)
|
||||||
INSTALLMANDIR = $(DESTDIR)$(MANDIR)
|
INSTALLMAN1DIR = $(DESTDIR)$(MAN1DIR)
|
||||||
|
|
||||||
ifeq ($(XATTR_AVAILABLE),0)
|
ifeq ($(XATTR_AVAILABLE),0)
|
||||||
$(warning "xattr not available: disabling")
|
$(warning "xattr not available: disabling")
|
||||||
|
@ -104,7 +110,10 @@ clonepath: $(TARGET)
|
||||||
$(LN) -s $< $@
|
$(LN) -s $< $@
|
||||||
|
|
||||||
changelog:
|
changelog:
|
||||||
$(GIT) log --pretty --numstat --summary | git2cl > ChangeLog
|
$(GIT2DEBCL) --name $(TARGET) > ChangeLog
|
||||||
|
|
||||||
|
authors:
|
||||||
|
$(GIT) log --format='%aN <%aE>' | sort -f | uniq > AUTHORS
|
||||||
|
|
||||||
obj/obj-stamp:
|
obj/obj-stamp:
|
||||||
$(MKDIR) -p obj
|
$(MKDIR) -p obj
|
||||||
|
@ -116,7 +125,7 @@ obj/%.o: src/%.cpp
|
||||||
clean:
|
clean:
|
||||||
$(RM) -rf obj
|
$(RM) -rf obj
|
||||||
$(RM) -f "$(TARGET)" "$(MANPAGE)" clonepath
|
$(RM) -f "$(TARGET)" "$(MANPAGE)" clonepath
|
||||||
$(FIND) -name "*~" -delete
|
$(FIND) . -name "*~" -delete
|
||||||
|
|
||||||
distclean: clean
|
distclean: clean
|
||||||
$(GIT) clean -fd
|
$(GIT) clean -fd
|
||||||
|
@ -130,7 +139,7 @@ install-clonepath: clonepath
|
||||||
$(CP) -a $< "$(INSTALLBINDIR)/$<"
|
$(CP) -a $< "$(INSTALLBINDIR)/$<"
|
||||||
|
|
||||||
install-man: $(MANPAGE)
|
install-man: $(MANPAGE)
|
||||||
$(INSTALL) -v -m 0644 -D "$(MANPAGE)" "$(INSTALLMANDIR)/$(MANPAGE)"
|
$(INSTALL) -v -m 0644 -D "$(MANPAGE)" "$(INSTALLMAN1DIR)/$(MANPAGE)"
|
||||||
|
|
||||||
install-strip: install-base
|
install-strip: install-base
|
||||||
$(STRIP) "$(INSTALLBINDIR)/$(TARGET)"
|
$(STRIP) "$(INSTALLBINDIR)/$(TARGET)"
|
||||||
|
@ -144,14 +153,14 @@ uninstall-clonepath:
|
||||||
$(RM) -f "$(INSTALLBINDIR)/clonepath"
|
$(RM) -f "$(INSTALLBINDIR)/clonepath"
|
||||||
|
|
||||||
uninstall-man:
|
uninstall-man:
|
||||||
$(RM) -f "$(INSTALLMANDIR)/$(MANPAGE")
|
$(RM) -f "$(INSTALLMAN1DIR)/$(MANPAGE)"
|
||||||
|
|
||||||
$(MANPAGE): README.md
|
$(MANPAGE): README.md
|
||||||
$(PANDOC) -s -t man -o $(MANPAGE) README.md
|
$(PANDOC) -s -t man -o $(MANPAGE) README.md
|
||||||
|
|
||||||
man: $(MANPAGE)
|
man: $(MANPAGE)
|
||||||
|
|
||||||
tarball: clean changelog man
|
tarball: clean man changelog authors
|
||||||
$(eval VERSION := $(shell $(GIT) describe --always --tags --dirty))
|
$(eval VERSION := $(shell $(GIT) describe --always --tags --dirty))
|
||||||
$(eval FILENAME := $(TARGET)-$(VERSION))
|
$(eval FILENAME := $(TARGET)-$(VERSION))
|
||||||
$(eval TMPDIR := $(shell $(MKTEMP) --tmpdir -d .$(FILENAME).XXXXXXXX))
|
$(eval TMPDIR := $(shell $(MKTEMP) --tmpdir -d .$(FILENAME).XXXXXXXX))
|
||||||
|
@ -160,10 +169,14 @@ tarball: clean changelog man
|
||||||
$(TAR) --exclude=.git -cz -C $(TMPDIR) -f ../$(FILENAME).tar.gz $(FILENAME)
|
$(TAR) --exclude=.git -cz -C $(TMPDIR) -f ../$(FILENAME).tar.gz $(FILENAME)
|
||||||
$(RM) -rf $(TMPDIR)
|
$(RM) -rf $(TMPDIR)
|
||||||
|
|
||||||
deb:
|
debian-changelog:
|
||||||
$(eval VERSION := $(shell $(GIT) describe --always --tags --dirty))
|
$(GIT2DEBCL) --name $(TARGET) > debian/changelog
|
||||||
$(GIT2DEBCL) $(TARGET) $(VERSION) > debian/changelog
|
|
||||||
$(GIT) buildpackage --git-ignore-new
|
deb: debian-changelog
|
||||||
|
dpkg-buildpackage
|
||||||
|
|
||||||
|
unsigned-deb: debian-changelog
|
||||||
|
dpkg-buildpackage -uc -us
|
||||||
|
|
||||||
.PHONY: all clean install help
|
.PHONY: all clean install help
|
||||||
|
|
||||||
|
|
3
debian/rules
vendored
3
debian/rules
vendored
|
@ -6,3 +6,6 @@
|
||||||
|
|
||||||
%:
|
%:
|
||||||
dh $@
|
dh $@
|
||||||
|
|
||||||
|
override_dh_auto_install:
|
||||||
|
$(MAKE) PREFIX=$(CURDIR)/debian/mergerfs/usr install
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/bin/sh
|
||||||
|
|
||||||
FUSE_CFLAGS=$(pkg-config --cflags fuse)
|
FUSE_CFLAGS=$(pkg-config --cflags fuse)
|
||||||
|
|
||||||
|
|
|
@ -24,35 +24,78 @@
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import argparse
|
||||||
|
|
||||||
packagename = sys.argv[1]
|
def git_tags():
|
||||||
version = sys.argv[2]
|
args = ["git", "tag", '-l']
|
||||||
|
tags = subprocess.check_output(args)
|
||||||
|
tags = tags.split()
|
||||||
|
tags.reverse()
|
||||||
|
return tags
|
||||||
|
|
||||||
args = ["git", "tag", '-l']
|
def git_log(fromtag,totag):
|
||||||
tags = subprocess.check_output(args)
|
args = ['git','log','--no-merges','--oneline',fromtag+'...'+totag]
|
||||||
tags = tags.split()
|
return subprocess.check_output(args).strip().split('\n')
|
||||||
tags.reverse()
|
|
||||||
|
|
||||||
if version in tags:
|
def git_author_and_time(tag):
|
||||||
|
args = ['git','log','-1','--format=-- %an <%ae> %cD',tag]
|
||||||
|
return subprocess.check_output(args).strip()
|
||||||
|
|
||||||
|
def git_version():
|
||||||
|
args = ['git','describe','--always','--tags','--dirty']
|
||||||
|
return subprocess.check_output(args).strip()
|
||||||
|
|
||||||
|
def find_distrib_codename(f):
|
||||||
|
for line in f:
|
||||||
|
(key,value) = line.partition('=')[::2]
|
||||||
|
if key == 'DISTRIB_CODENAME':
|
||||||
|
return value.strip()
|
||||||
|
|
||||||
|
def guess_distribution():
|
||||||
|
try:
|
||||||
|
with open('/etc/upstream-release/lsb-release') as f:
|
||||||
|
return find_distrib_codename(f)
|
||||||
|
except:
|
||||||
|
try:
|
||||||
|
with open('/etc/lsb-release') as f:
|
||||||
|
return find_distrib_codename(f)
|
||||||
|
except:
|
||||||
|
return 'unknown'
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser(description='Generated debian/changelog from git log')
|
||||||
|
parser.add_argument('--name',type=str,help='Name of package',required=True)
|
||||||
|
parser.add_argument('--version',type=str,help='Place in git history to include upto',default='::guess::')
|
||||||
|
parser.add_argument('--distro',type=str,help='Distribution name',default='::guess::')
|
||||||
|
parser.add_argument('--urgency',type=str,help='Urgency',default='medium')
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
if args.distro == '::guess::':
|
||||||
|
args.distro = guess_distribution()
|
||||||
|
|
||||||
|
if args.version == '::guess::':
|
||||||
|
args.version = git_version()
|
||||||
|
|
||||||
|
tags = git_tags()
|
||||||
|
|
||||||
|
if args.version in tags:
|
||||||
idx = tags.index(version)
|
idx = tags.index(version)
|
||||||
tags = tags[idx:]
|
tags = tags[idx:]
|
||||||
tags = zip(tags,tags)
|
tags = zip(tags,tags)
|
||||||
else:
|
else:
|
||||||
tags = zip(tags,tags)
|
tags = zip(tags,tags)
|
||||||
tags.insert(0,(version,'HEAD'))
|
tags.insert(0,(args.version,'HEAD'))
|
||||||
|
|
||||||
tag = tags[0]
|
tag = tags[0]
|
||||||
for prev in tags[1:]:
|
for prev in tags[1:]:
|
||||||
print packagename, "("+tag[0]+")", "trusty;", "urgency=medium"
|
print('%s (%s) %s; urgency=%s\n' % (args.name,tag[0],args.distro,args.urgency))
|
||||||
print
|
|
||||||
|
|
||||||
args = ['git','log','--no-merges','--oneline',tag[1]+'...'+prev[1]]
|
lines = git_log(tag[1],prev[1])
|
||||||
for line in subprocess.check_output(args).strip().split('\n'):
|
for line in lines:
|
||||||
print " * " + line
|
print " * " + line
|
||||||
print
|
print
|
||||||
|
|
||||||
args = ['git','log','-1','--format=-- %an <%ae> %cD',tag[1]]
|
authorandtime = git_author_and_time(tag[1])
|
||||||
authorandtime = subprocess.check_output(args).strip()
|
print(' %s\n' % authorandtime)
|
||||||
print ' ' + authorandtime + '\n'
|
|
||||||
|
|
||||||
tag = prev
|
tag = prev
|
||||||
|
|
Loading…
Reference in New Issue
Block a user