port postgresql (client library and cli) to buildroot-ng

git-svn-id: svn://svn.openwrt.org/openwrt/packages@4143 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
nico 2006-07-18 15:27:51 +00:00
parent dfdbf89c17
commit a0621306cb
5 changed files with 223 additions and 0 deletions

145
libs/postgresql/Makefile Normal file
View File

@ -0,0 +1,145 @@
#
# Copyright (C) 2006 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=postgresql
PKG_VERSION:=7.4.9
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=\
ftp://ftp3.us.postgresql.org/pub/postgresql/source/v$(PKG_VERSION)/ \
ftp://ftp.br.postgresql.org/pub/PostgreSQL/source/v$(PKG_VERSION)/ \
ftp://ftp.au.postgresql.org/pub/postgresql/source/v$(PKG_VERSION)/ \
ftp://ftp.tw.postgresql.org/pub/postgresql/source/v$(PKG_VERSION)/
PKG_MD5SUM:=d7cf0f0a0e1dda19268f55cb1e124c77
PKG_CAT:=bzcat
PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
include $(INCLUDE_DIR)/package.mk
define Package/libpq
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=+zlib
TITLE:=PostgreSQL client library
DESCRIPTION:=PostgreSQL client library.
URL:=http://www.postgresql.org/
endef
define Package/pgsql-cli
SECTION:=libs
CATEGORY:=Libraries
DEPENDS:=libpq
TITLE:=Command Line Interface (CLI) to PostgreSQL databases
DESCRIPTION:=Command Line Interface (CLI) to PostgreSQL databases.
URL:=http://www.postgresql.org/
endef
# ./configure advertise "--infodir", but does not support it, replaced with "--docdir"
define Build/Configure
(cd $(PKG_BUILD_DIR); rm -f config.cache; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS) $(EXTRA_CFLAGS)" \
CPPFLAGS="$$$$CPPFLAGS -I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include" \
LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
./configure \
--target=$(GNU_TARGET_NAME) \
--host=$(GNU_TARGET_NAME) \
--build=$(GNU_HOST_NAME) \
--program-prefix="" \
--program-suffix="" \
--prefix=/usr \
--exec-prefix=/usr \
--bindir=/usr/bin \
--datadir=/usr/share \
--includedir=/usr/include \
--docdir=/usr/share/info \
--libdir=/usr/lib \
--libexecdir=/usr/lib \
--localstatedir=/var \
--mandir=/usr/share/man \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
$(DISABLE_NLS) \
$(DISABLE_LARGEFILE) \
--enable-shared \
--enable-static \
--disable-integer-datetimes \
--disable-rpath \
--without-java \
--without-krb4 \
--without-krb5 \
--without-openssl \
--without-pam \
--without-perl \
--without-python \
--without-readline \
--without-rendezvous \
--without-tcl \
--without-tk \
--with-zlib="yes" \
);
endef
define Build/Compile
$(MAKE) -C "$(PKG_BUILD_DIR)/src/include" \
DESTDIR="$(PKG_INSTALL_DIR)" \
all install
$(MAKE) -C "$(PKG_BUILD_DIR)/src/interfaces/libpq" \
DESTDIR="$(PKG_INSTALL_DIR)" \
all install
$(MAKE) -C "$(PKG_BUILD_DIR)/src/bin/pg_config" \
DESTDIR="$(PKG_INSTALL_DIR)" \
includedir="$(STAGING_DIR)/usr/include" \
libdir="$(STAGING_DIR)/usr/lib" \
all install
$(MAKE) -C "$(PKG_BUILD_DIR)/src/bin/psql" \
DESTDIR="$(PKG_INSTALL_DIR)" \
all install
endef
define Package/libpq/install
install -d -m0755 $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpq.so.* $(1)/usr/lib/
endef
define Package/pgsql-cli/install
install -d -m0755 $(1)/usr/bin
$(CP) $(PKG_INSTALL_DIR)/usr/bin/psql $(1)/usr/bin/
endef
define Build/InstallDev
mkdir -p $(STAGING_DIR)/usr/bin
$(CP) $(PKG_INSTALL_DIR)/usr/bin/pg_config $(STAGING_DIR)/usr/bin/
mkdir -p $(STAGING_DIR)/usr/include
$(CP) $(PKG_INSTALL_DIR)/usr/include/libpq $(STAGING_DIR)/usr/include/
$(CP) $(PKG_INSTALL_DIR)/usr/include/libpq-fe.h $(STAGING_DIR)/usr/include/
$(CP) $(PKG_INSTALL_DIR)/usr/include/pg_config.h $(STAGING_DIR)/usr/include/
$(CP) $(PKG_INSTALL_DIR)/usr/include/postgres_ext.h $(STAGING_DIR)/usr/include/
$(CP) $(PKG_INSTALL_DIR)/usr/include/postgresql $(STAGING_DIR)/usr/include/
mkdir -p $(STAGING_DIR)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpq.{a,so*} $(STAGING_DIR)/usr/lib/
endef
define Build/UninstallDev
rm -rf \
$(STAGING_DIR)/usr/bin/pg_config \
$(STAGING_DIR)/usr/include/libpq \
$(STAGING_DIR)/usr/include/libpq-fe.h \
$(STAGING_DIR)/usr/include/pg_config.h \
$(STAGING_DIR)/usr/include/postgres_ext.h \
$(STAGING_DIR)/usr/include/postgresql \
$(STAGING_DIR)/usr/lib/libpq.{a,so*}
endef
$(eval $(call BuildPackage,libpq))
$(eval $(call BuildPackage,pgsql-cli))

View File

@ -0,0 +1,21 @@
diff -ruN postgresql-7.4.7-old/src/include/storage/s_lock.h postgresql-7.4.7/src/include/storage/s_lock.h
--- postgresql-7.4.7-old/src/include/storage/s_lock.h 2004-06-15 16:09:30.000000000 +0200
+++ postgresql-7.4.7/src/include/storage/s_lock.h 2004-06-15 16:19:02.000000000 +0200
@@ -125,7 +125,7 @@
__asm__ __volatile__(
" xchg4 %0=%1,%2 \n"
: "=r"(ret), "=m"(*lock)
-: "r"(1), "1"(*lock)
+: "r"(1), "m"(*lock)
: "memory");
return (int) ret;
@@ -294,7 +294,7 @@
" tas %1 \n"
" sne %0 \n"
: "=d"(rv), "=m"(*lock)
-: "1"(*lock)
+: "m"(*lock)
: "cc");
return rv;

View File

@ -0,0 +1,14 @@
diff -ruN postgresql-7.4.7-old/contrib/dbase/dbf2pg.c postgresql-7.4.7/contrib/dbase/dbf2pg.c
--- postgresql-7.4.7-old/contrib/dbase/dbf2pg.c 2004-10-31 20:09:10.923855000 +0100
+++ postgresql-7.4.7/contrib/dbase/dbf2pg.c 2004-10-31 20:11:24.676521696 +0100
@@ -324,6 +324,10 @@
case 'L':
strcat(query, " char");
break;
+
+ case 'M':
+ strcat(query, " text");
+ break;
}
}

View File

@ -0,0 +1,33 @@
diff -ruN postgresql-7.4.7-old/src/interfaces/libpq/Makefile postgresql-7.4.7/src/interfaces/libpq/Makefile
--- postgresql-7.4.7-old/src/interfaces/libpq/Makefile 2003-08-23 05:21:59.000000000 +0100
+++ postgresql-7.4.7/src/interfaces/libpq/Makefile 2003-08-29 18:35:25.000000000 +0100
@@ -32,7 +32,7 @@
SHLIB_LINK += $(filter -lcrypt -ldes -lkrb -lcom_err -lcrypto -lk5crypto -lkrb5 -lssl -lsocket -lnsl -lresolv -lintl, $(LIBS)) $(THREAD_LIBS)
-all: all-lib
+all: all-lib libpq3-config
# Shared library stuff
include $(top_srcdir)/src/Makefile.shlib
@@ -58,6 +58,8 @@
encnames.c wchar.c : % : $(backend_src)/utils/mb/%
rm -f $@ && $(LN_S) $< .
+libpq3-config:
+ sed -e "s|%LIBRARIES%|$(SHLIB_LINK)|" <libpq3-config.in | sed "s/-L[^ ]\+ //" >libpq3-config
install: all installdirs install-lib
$(INSTALL_DATA) $(srcdir)/libpq-fe.h $(DESTDIR)$(includedir)
@@ -73,3 +75,4 @@
clean distclean maintainer-clean: clean-lib
rm -f $(OBJS) crypt.c getaddrinfo.c inet_aton.c snprintf.c strerror.c path.c thread.c dllist.c md5.c ip.c encnames.c wchar.c
+ rm -f libpq3-config
diff -ruN postgresql-7.4.7-old/src/interfaces/libpq/libpq3-config.in postgresql-7.4.7/src/interfaces/libpq/libpq3-config.in
--- postgresql-7.4.7-old/src/interfaces/libpq/libpq3-config.in 1970-01-01 01:00:00.000000000 +0100
+++ postgresql-7.4.7/src/interfaces/libpq/libpq3-config.in 2003-08-29 18:34:25.000000000 +0100
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+echo %LIBRARIES%

View File

@ -0,0 +1,10 @@
diff -ruN postgresql-7.4.6-old/src/template/linux postgresql-7.4.6-new/src/template/linux
--- postgresql-7.4.6-old/src/template/linux 2003-10-09 18:52:45.000000000 +0200
+++ postgresql-7.4.6-new/src/template/linux 2005-04-13 03:12:49.000000000 +0200
@@ -1,5 +1,5 @@
# Force _GNU_SOURCE on; plperl is broken with Perl 5.8.0 otherwise
-CPPFLAGS="-D_GNU_SOURCE"
+CPPFLAGS="$CPPFLAGS -D_GNU_SOURCE"
THREAD_SUPPORT=yes
NEED_REENTRANT_FUNCS=yes # Debian kernel 2.2 2003-09-27