From 8a87e919d822c1f28323ecd64f4f0e7119e1a1c1 Mon Sep 17 00:00:00 2001 From: "R. Steve McKown" Date: Fri, 28 Sep 2012 12:22:57 -0600 Subject: [PATCH] make package builds simple .tgz for install --- .gitignore | 2 ++ Makefile | 34 +++++++++++++++++++++++++--------- git_acl.c | 1 - 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/.gitignore b/.gitignore index c7859a1..b85387e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ repo_shell acl_test mystrtok_test +repo_shell-package.tar.gz version.c +.version *.swp .svn diff --git a/Makefile b/Makefile index 66de242..6cb5df2 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,10 @@ MAIN := repo_shell # Git derives its version "prefix" from tags -PREFIX = /usr/local -PROGRAMS = $(MAIN) mystrtok_test acl_test -SCRIPTS = $(shell ls scripts/*) +PREFIX := /usr/local +PROGRAMS := $(MAIN) mystrtok_test acl_test +SCRIPTS := $(shell ls scripts/*) +PACKAGE := $(MAIN)-package.tar.gz # Add TMI's mkversion to render files xxx.in -> xxx, updating __appVersion__ # Massage the version coming back because setup.py build to exe only wants @@ -17,7 +18,7 @@ INFILES := $(INFILES:%.in=%) all: $(MAIN) -repo_shell: repo_shell.c inih/ini.c git_acl.c stringutils.c stra.c utility.c version.c +$(MAIN):%: %.c inih/ini.c git_acl.c stringutils.c stra.c utility.c version.c $(CC) -I inih $^ -o $@ mystrtok_test: mystrtok_test.c stringutils.c utility.c @@ -26,20 +27,35 @@ mystrtok_test: mystrtok_test.c stringutils.c utility.c acl_test: acl_test.c git_acl.c inih/ini.c stringutils.c stra.c utility.c $(CC) -I inih $^ -o $@ -$(INFILES):%: %.in - @sed -e 's|__appVersion__|$(VERSION)|g' < $^ > $@-tmp +$(INFILES):%: %.in .version + @echo "building $@ for $(VERSION)" + @sed -e 's|__appVersion__|$(VERSION)|g' < $< > $@-tmp @diff -q $@-tmp $@ >/dev/null 2>&1 && rm -f $@-tmp || mv $@-tmp $@ +.version: FORCE + @[ "$$(cat $@ 2>/dev/null)" != "$(VERSION)" ] && \ + echo "$(VERSION)" > $@ || true + install: $(MAIN) $(SCRIPTS) @install -D -o root -g root -m 4755 $(MAIN) $(PREFIX)/bin/$(MAIN) - @install -D -o root -g root -m 4755 $(MAIN) $(PREFIX)/bin/$(MAIN) - @install -o root -g root -m 4755 $(SCRIPTS) $(PREFIX)/bin + @install -o root -g root -m 0755 $(SCRIPTS) $(PREFIX)/bin uninstall: @rm -f $(PREFIX)/bin/$(MAIN) @for i in $(SCRIPTS); do rm -f $(PREFIX)/bin/$$i; done +$(PACKAGE): $(MAIN) $(SCRIPTS) + @rm -rf pkg.tmp + @mkdir pkg.tmp + @install -D -o root -g root -m 4755 $(MAIN) pkg.tmp/$(PREFIX)/bin/$(MAIN) + @install -o root -g root -m 0755 $(SCRIPTS) pkg.tmp/$(PREFIX)/bin + @cd pkg.tmp && tar czf ../$(PACKAGE) . + @rm -rf pkg.tmp + @echo "$(PACKAGE) created" + +package: Makefile $(PACKAGE) + clean: @rm -rf $(PROGRAMS) $(INFILES) -.PHONY: all insall uninstall clean $(INFILES) +.PHONY: all install uninstall package clean FORCE diff --git a/git_acl.c b/git_acl.c index 3c740dd..6036166 100644 --- a/git_acl.c +++ b/git_acl.c @@ -156,7 +156,6 @@ static int acl_handler(void* user, const char* section, const char* name, char *p = _p; char *repo = strip_repo(my_strtok(&p, " \t\n")); - debug("repo '%s'", repo); if (!repo || my_strtok(&p, " \t\n")) die("acl_handler: badly formatted section '%s'", section); /* repo is repo name, name is userid, value is permission */ -- 2.39.2