From d316e9fc8a3ec24abf29634728be4792ec6354be Mon Sep 17 00:00:00 2001 From: "David E. Wheeler" Date: Sat, 25 Feb 2012 14:31:10 -0800 Subject: [PATCH] Add support for PGXN distribution. Mainly by adding META.json. A new `zip` target has also been added to make it simple to generate the zip file for distribution. Note that PGXN requires x.y.z versions, so the version has been changed from 2.3 to 2.3.0. --- .gitignore | 3 +++ META.json | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ Makefile | 20 +++++++++++++------- 3 files changed, 65 insertions(+), 7 deletions(-) create mode 100644 META.json diff --git a/.gitignore b/.gitignore index 9b01728..43708b7 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,9 @@ results/ *.so tmp/ *.o +*.zip +*.tgz +*.tar.gz regression.diffs regression.out sql/plproxy--2* diff --git a/META.json b/META.json new file mode 100644 index 0000000..797c965 --- /dev/null +++ b/META.json @@ -0,0 +1,49 @@ +{ + "name": "plproxy", + "abstract": "Database partitioning implemented as procedural language", + "description": "PL/Proxy is database partitioning system implemented as PL language.", + "version": "2.3.0", + "maintainer": [ + "Sven Suursoho ", + "Marko Kreen " + ], + "license": "postgresql", + "provides": { + "plproxy": { + "abstract": "Database partitioning implemented as procedural language", + "file": "sql/plproxy.sql", + "docfile": "doc/tutorial.txt", + "version": "2.3.0" + } + }, + "prereqs": { + "runtime": { + "requires": { + "PostgreSQL": "8.3.0" + } + } + }, + "resources": { + "bugtracker": { + "web": "http://github.com/markokr/plproxy-dev/issues/" + }, + "repository": { + "url": "https://github.com/markokr/plproxy-dev.git", + "web": "https://github.com/markokr/plproxy-dev/", + "type": "git" + } + }, + "generated_by": "David E. Wheeler", + "meta-spec": { + "version": "1.0.0", + "url": "http://pgxn.org/meta/spec.txt" + }, + "tags": [ + "proxy", + "sharding", + "rpc", + "remote procedue call", + "procedural language", + "PL" + ] +} diff --git a/Makefile b/Makefile index 9348983..bf9b8e1 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ EXTRA_CLEAN = src/scanner.[ch] src/parser.tab.[ch] sql/plproxy.sql PG_CPPFLAGS = -I$(PQINC) -DNO_SELECT=$(NO_SELECT) SHLIB_LINK = -L$(PQLIB) -lpq -TARNAME = plproxy-$(EXTVERSION) +DISTNAME = plproxy-$(EXTVERSION) DIST_DIRS = src sql expected config doc debian DIST_FILES = Makefile src/plproxy.h src/rowstamp.h src/scanner.l src/parser.y \ $(foreach t,$(REGRESS),test/sql/$(t).sql test/expected/$(t).out) \ @@ -102,13 +102,16 @@ tags: cscope -I src -b -f .cscope.out src/*.c oldtgz: - rm -rf $(TARNAME) - mkdir -p $(TARNAME) - tar c $(DIST_FILES) $(SRCS) | tar xp -C $(TARNAME) - tar czf $(TARNAME).tgz $(TARNAME) + rm -rf $(DISTNAME) + mkdir -p $(DISTNAME) + tar c $(DIST_FILES) $(SRCS) | tar xp -C $(DISTNAME) + tar czf $(DISTNAME).tgz $(DISTNAME) tgz: - git archive -o $(TARNAME).tar.gz --prefix=$(TARNAME)/ HEAD + git archive -o $(DISTNAME).tar.gz --prefix=$(DISTNAME)/ HEAD + +zip: + git archive -o $(DISTNAME).zip --format zip --prefix=$(DISTNAME)/ HEAD clean: tgzclean doc-clean @@ -116,7 +119,10 @@ doc-clean: $(MAKE) -C doc clean tgzclean: - rm -rf $(TARNAME) $(TARNAME).tar.gz + rm -rf $(DISTNAME) $(DISTNAME).tar.gz + +zipclean: + rm -rf $(DISTNAME) $(DISTNAME).zip test: install $(MAKE) installcheck || { less regression.diffs; exit 1; } -- 2.39.5