tags 639470 + pending
thanks

Re: Martin Pitt 2011-08-27 <20110827132931.gj2...@piware.de>
> Please rebuild this package against postgresql-server-dev-9.1 instead
> of -8.4, or consider just using postgresql-server-dev-all.

Hi Robert,

here's an NMU that uses pg_buildext to automatically build packages
for all supported versions. I'll upload it to delayed/0.

Btw, I'd also be willing to take over maintenance of this package
under the pkg-postgresql umbrella. (Either completely or as a
co-maintainer.)

Christoph
-- 
c...@df7cb.de | http://www.df7cb.de/
Control files: lines which differ (wdiff format)
------------------------------------------------
Build-Depends: debhelper (>= 5.0.0), [-postgresql-server-dev-8.4-] {+postgresql-server-dev-all (>= 122~)+}
Description: IPv4 and IPv4 range index types for PostgreSQL [-8.4-] {+9.1+}
Package: [-postgresql-8.4-ip4r-] {+postgresql-9.1-ip4r+}
Recommends: [-postgresql-8.4-] {+postgresql-9.1+}

diff -Nru ip4r-1.04/Makefile ip4r-1.05/Makefile
--- ip4r-1.04/Makefile	2011-10-08 13:40:22.000000000 +0200
+++ ip4r-1.05/Makefile	2011-10-08 13:40:22.000000000 +0200
@@ -1,11 +1,12 @@
 
 MODULES = ip4r
 DATA_built = ip4r.sql
-DOCS = README.ip4r
+#DOCS = README.ip4r
 
 ifdef USE_PGXS
+PG_CONFIG = pg_config
 PG_CPPFLAGS = -DIP4R_PGVER=$(shell echo $(VERSION) | awk -F. '{ print ($$1*1000+$$2)*1000+$$3 }')
-PGXS ?= $(shell pg_config --pgxs)
+PGXS = $(shell $(PG_CONFIG) --pgxs)
 include $(PGXS)
 else
 subdir = contrib/ip4r
diff -Nru ip4r-1.04/README.ip4r ip4r-1.05/README.ip4r
--- ip4r-1.04/README.ip4r	2011-10-08 13:40:22.000000000 +0200
+++ ip4r-1.05/README.ip4r	2010-03-14 10:55:11.000000000 +0100
@@ -63,10 +63,33 @@
 INSTALLATION
 ============
 
-In order to use the types in a given database, the ip4r.sql script must be
-run in that database, while connected as a database superuser.  For example:
+On version 8.0 or later of PostgreSQL, ip4r can be installed via the
+pgxs mechanism. Unpack the distribution and do:
 
-psql -U postgres -f /usr/share/postgresql/8.4/contrib/ip4r.sql mydatabase
+make USE_PGXS=1
+make USE_PGXS=1 install
+
+(as with PostgreSQL itself, this requires GNU Make. The second command
+will usually need to be run as root.)
+
+On versions prior to 8.0, first unpack the PostgreSQL distribution
+itself, and run ./configure with the same parameters you used when
+installing PostgreSQL originally. If you installed from a binary
+package, you will have to discover what options the packager used.
+Then create a subdirectory contrib/ip4r and copy the contents of
+the ip4r distribution there, and run make install.
+
+Installing via either of the above methods creates the ip4r.so module,
+and installs an SQL script ip4r.sql in the usual place for contrib
+modules ($prefix/share/contrib by default,
+/usr/local/share/postgresql/contrib on FreeBSD, etc.). In order to use
+the types in a given database, the ip4r.sql script must be run in that
+database, while connected as a database superuser.  For example:
+
+psql -U pgsql -f /usr/local/share/postgresql/contrib/ip4r.sql mydatabase
+
+(on systems other than FreeBSD, the username is usually "postgres"
+rather than "pgsql")
 
 This installs the type and its support functions in the catalog of the
 specified database. If you install it in template1, then newly-created
@@ -335,7 +358,7 @@
 AUTHORS
 =======
 
-this code by and...@supernews.net Oct 2004 - Dec 2005
+this code by and...@tao11.riddles.org.uk Oct 2004 - Dec 2005
 derived from 'ipr' by Steve Atkins <st...@blighty.com> August 2003
 derived from the 'seg' type distributed with PostgreSQL.
 
diff -Nru ip4r-1.04/debian/changelog ip4r-1.05/debian/changelog
--- ip4r-1.04/debian/changelog	2011-10-08 13:40:22.000000000 +0200
+++ ip4r-1.05/debian/changelog	2011-10-08 13:40:22.000000000 +0200
@@ -1,3 +1,12 @@
+ip4r (1.05-0.1) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * New upstream version compatible with PG 9.0.
+  * Convert to use pg_buildext to build against PG 9.1;
+    closes: #605711, #639470.
+
+ -- Christoph Berg <m...@debian.org>  Sat, 08 Oct 2011 00:10:01 +0200
+
 ip4r (1.04-1) unstable; urgency=low
 
   * New upstream release; closes: #537693.
diff -Nru ip4r-1.04/debian/control ip4r-1.05/debian/control
--- ip4r-1.04/debian/control	2011-10-08 13:40:22.000000000 +0200
+++ ip4r-1.05/debian/control	2011-10-08 13:40:22.000000000 +0200
@@ -2,15 +2,15 @@
 Section: misc
 Priority: extra
 Maintainer: Robert S. Edmonds <edmo...@debian.org>
-Build-Depends: debhelper (>= 5.0.0), postgresql-server-dev-8.4
+Build-Depends: debhelper (>= 5.0.0), postgresql-server-dev-all (>= 122~)
 Standards-Version: 3.8.3
 Homepage: http://pgfoundry.org/projects/ip4r/
 
-Package: postgresql-8.4-ip4r
+Package: postgresql-9.1-ip4r
 Architecture: any
 Depends: ${shlibs:Depends}
-Recommends: postgresql-8.4
-Description: IPv4 and IPv4 range index types for PostgreSQL 8.4
+Recommends: postgresql-9.1
+Description: IPv4 and IPv4 range index types for PostgreSQL 9.1
  This PostgreSQL module provides two data types, ip4 and ip4r, which can
  contain a single IPv4 address or a range of IPv4 addresses,
  respectively.
@@ -37,3 +37,4 @@
  .
    ip4   - a single IPv4 address
    ip4r  - an arbitrary range of IPv4 addresses
+
diff -Nru ip4r-1.04/debian/control.in ip4r-1.05/debian/control.in
--- ip4r-1.04/debian/control.in	1970-01-01 01:00:00.000000000 +0100
+++ ip4r-1.05/debian/control.in	2011-10-08 13:40:22.000000000 +0200
@@ -0,0 +1,39 @@
+Source: ip4r
+Section: misc
+Priority: extra
+Maintainer: Robert S. Edmonds <edmo...@debian.org>
+Build-Depends: debhelper (>= 5.0.0), postgresql-server-dev-all (>= 122~)
+Standards-Version: 3.8.3
+Homepage: http://pgfoundry.org/projects/ip4r/
+
+Package: postgresql-PGVERSION-ip4r
+Architecture: any
+Depends: ${shlibs:Depends}
+Recommends: postgresql-PGVERSION
+Description: IPv4 and IPv4 range index types for PostgreSQL PGVERSION
+ This PostgreSQL module provides two data types, ip4 and ip4r, which can
+ contain a single IPv4 address or a range of IPv4 addresses,
+ respectively.
+ .
+ While PostgreSQL already has built-in types 'inet' and 'cidr', the
+ authors of this module found that they had a number of requirements
+ that were not addressed by the built-in type.
+ .
+ Firstly and most importantly, the built-in types have no support for
+ index lookups of the form (column >>= parameter), i.e. where you have
+ a table of IP address ranges and wish to find which ones include a
+ given IP address.  This requires an rtree or gist index to do
+ efficiently, and also requires a way to represent IP address ranges
+ that do not fall precisely on CIDR boundaries.
+ .
+ Secondly, the built-in inet/cidr are somewhat overloaded with
+ semantics, with inet combining two distinct concepts (a netblock, and
+ a specific IP within that netblock). Furthermore, they are variable
+ length types (to support IPv6) with non-trivial overheads, and the
+ authors (whose applications mainly deal in large volumes of single
+ IPv4 addresses) wanted a more lightweight representation.
+ .
+ ip4r therefore supports two distinct data types (so far):
+ .
+   ip4   - a single IPv4 address
+   ip4r  - an arbitrary range of IPv4 addresses
diff -Nru ip4r-1.04/debian/pgversions ip4r-1.05/debian/pgversions
--- ip4r-1.04/debian/pgversions	1970-01-01 01:00:00.000000000 +0100
+++ ip4r-1.05/debian/pgversions	2011-10-08 13:40:22.000000000 +0200
@@ -0,0 +1,5 @@
+8.2
+8.3
+8.4
+9.0
+9.1
diff -Nru ip4r-1.04/debian/postgresql-8.4-ip4r.dirs ip4r-1.05/debian/postgresql-8.4-ip4r.dirs
--- ip4r-1.04/debian/postgresql-8.4-ip4r.dirs	2011-10-08 13:40:22.000000000 +0200
+++ ip4r-1.05/debian/postgresql-8.4-ip4r.dirs	1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-usr/lib/postgresql/8.4/lib
-usr/share/postgresql/8.4/contrib
diff -Nru ip4r-1.04/debian/postgresql-8.4-ip4r.docs ip4r-1.05/debian/postgresql-8.4-ip4r.docs
--- ip4r-1.04/debian/postgresql-8.4-ip4r.docs	2011-10-08 13:40:22.000000000 +0200
+++ ip4r-1.05/debian/postgresql-8.4-ip4r.docs	1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-README.ip4r
diff -Nru ip4r-1.04/debian/postgresql-8.4-ip4r.install ip4r-1.05/debian/postgresql-8.4-ip4r.install
--- ip4r-1.04/debian/postgresql-8.4-ip4r.install	2011-10-08 13:40:22.000000000 +0200
+++ ip4r-1.05/debian/postgresql-8.4-ip4r.install	1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-ip4r.so usr/lib/postgresql/8.4/lib
-ip4r.sql usr/share/postgresql/8.4/contrib
diff -Nru ip4r-1.04/debian/rules ip4r-1.05/debian/rules
--- ip4r-1.04/debian/rules	2011-10-08 13:40:22.000000000 +0200
+++ ip4r-1.05/debian/rules	2011-10-08 13:40:22.000000000 +0200
@@ -1,20 +1,25 @@
 #!/usr/bin/make -f
 
-CFLAGS = $(shell /usr/lib/postgresql/8.4/bin/pg_config --cflags)
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
 	CFLAGS += -O0
 else
 	CFLAGS += -O2
 endif
 
-PGXS84 = $(shell /usr/lib/postgresql/8.4/bin/pg_config --pgxs)
+SRCDIR=$(CURDIR)
+include /usr/share/postgresql-common/pgxs_debian_control.mk
+clean: debian/control
+.PHONY: debian/control
+
+export USE_PGXS=1
 
 build:
+	+pg_buildext build $(SRCDIR) build-%v "$(CFLAGS)"
 
 clean:
 	dh_testdir
 	dh_testroot
-	$(MAKE) clean USE_PGXS=1 PGXS="$(PGXS84)"
+	+pg_buildext clean $(SRCDIR) build-%v
 	dh_clean 
 
 install: build
@@ -22,15 +27,14 @@
 	dh_testroot
 	dh_clean -k 
 	dh_installdirs
-	$(MAKE) CFLAGS="$(CFLAGS)" USE_PGXS=1 PGXS="$(PGXS84)"
-	dh_install -ppostgresql-8.4-ip4r
+	+pg_buildext install $(SRCDIR) build-%v postgresql-%v-ip4r
 
 binary-indep: build install
 binary-arch: build install
 	dh_testdir
 	dh_testroot
 	dh_installchangelogs
-	dh_installdocs
+	dh_installdocs --all README.ip4r
 	dh_link
 	dh_strip
 	dh_compress
diff -Nru ip4r-1.04/ip4r.c ip4r-1.05/ip4r.c
--- ip4r-1.04/ip4r.c	2009-06-29 17:17:54.000000000 +0200
+++ ip4r-1.05/ip4r.c	2010-03-14 10:55:11.000000000 +0100
@@ -1,10 +1,12 @@
-/* $Id: ip4r.c,v 1.9 2009/06/29 15:17:54 andrewsn Exp $ */
+/* $Id: ip4r.c,v 1.10 2010/03/14 09:55:11 andrewsn Exp $ */
 /*
   New type 'ip4' used to represent a single IPv4 address efficiently
 
   New type 'ip4r' used to represent a range of IPv4 addresses, along
   with support for GiST and rtree indexing of the type.
 
+  V1.05: updates for 9.0
+
   V1.04: updates for 8.4
 
   V1.03: fix the inet conversions which were not handling short varlenas
@@ -40,7 +42,7 @@
   broken somehow; the resulting indexes are bloated with excessive
   numbers of single-value leaf pages.
 
-  this code by and...@supernews.net Oct 2004 - Dec 2005
+  this code by and...@tao11.riddles.org.uk Oct 2004 - Dec 2005
 
   [derived from 'ipr' by:  
    Steve Atkins <st...@blighty.com> August 2003, derived from the 'seg'
@@ -395,10 +397,12 @@
 
 /* PG version dependencies */
 
-#if !defined(IP4R_PGVER) || IP4R_PGVER >= 9000000 || IP4R_PGVER < 7003000
+#if !defined(IP4R_PGVER) || IP4R_PGVER < 7003000
 #error "Unknown or unsupported postgresql version"
 #endif
 
+/* 9.0 has no known changes from 8.4 that affect this code. */
+
 /* 8.4 adds parameters to gist consistent() to support dynamic setting
  * of the "recheck" flag, and defaults recheck to true (giving us some
  * performance loss since we don't need recheck).

Attachment: signature.asc
Description: Digital signature

Reply via email to