postgresql: moved to github
postgresql: moved to github

Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/packages@41462 3c298f89-4303-0410-b956-a3cf2f4a3e73

#  
# Copyright (C) 2006-2012 OpenWrt.org  
#  
# This is free software, licensed under the GNU General Public License v2.  
# See /LICENSE for more information.  
#  
 
include $(TOPDIR)/rules.mk  
 
PKG_NAME:=postgresql  
PKG_VERSION:=9.0.15  
PKG_RELEASE:=1  
 
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2  
PKG_SOURCE_URL:=\  
http://ftp9.us.postgresql.org/pub/mirrors/postgresql/source/v$(PKG_VERSION) \  
http://ftp.be.postgresql.org/postgresql/source/v$(PKG_VERSION) \  
ftp://ftp-archives.postgresql.org/pub/source/v$(PKG_VERSION)  
PKG_MD5SUM:=1bd7f659c4f68e5fc23511c6952b494b  
PKG_BUILD_PARALLEL:=1  
PKG_USE_MIPS16:=0  
PKG_FIXUP:=autoreconf  
 
include $(INCLUDE_DIR)/package.mk  
 
define Package/libpq  
SECTION:=libs  
CATEGORY:=Libraries  
DEPENDS:=+zlib +libreadline +libpthread +libncurses +shadow-su  
TITLE:=PostgreSQL client library  
URL:=http://www.postgresql.org/  
SUBMENU:=database  
endef  
 
define Package/libpq/description  
PostgreSQL client library.  
endef  
 
define Package/pgsql-cli  
SECTION:=utils  
CATEGORY:=Utilities  
DEPENDS:=+libpq  
TITLE:=Command Line Interface (CLI) to PostgreSQL databases  
URL:=http://www.postgresql.org/  
SUBMENU:=database  
endef  
 
define Package/pgsql-cli/description  
Command Line Interface (CLI) to PostgreSQL databases.  
endef  
 
define Package/pgsql-server  
SECTION:=utils  
CATEGORY:=Utilities  
DEPENDS:=+libpq  
TITLE:=PostgreSQL databases Server  
URL:=http://www.postgresql.org/  
SUBMENU:=database  
endef  
 
define Package/pgsql-server/description  
PostgreSQL databases Server.  
endef  
 
# Need a native ecpg ,pg_config, and zic for build  
define Build/Configure  
(cd $(PKG_BUILD_DIR); rm -f config.cache; \  
./configure \  
--prefix=/usr \  
--exec-prefix=/usr \  
--bindir=/usr/bin \  
--datadir=/usr/share \  
--includedir=/usr/include \  
--infodir=/usr/share/info \  
--libdir=/usr/lib \  
--libexecdir=/usr/lib \  
--localstatedir=/var \  
--mandir=/usr/share/man \  
--sbindir=/usr/sbin \  
--sysconfdir=/etc \  
$(DISABLE_NLS) \  
--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" \  
--enable-depend \  
--with-system-timezone=/tmp \  
);  
$(MAKE) -C $(PKG_BUILD_DIR)/src/interfaces/ecpg/preproc CC="$(HOSTCC)" CFLAGS+="-I../../libpq"  
mv $(PKG_BUILD_DIR)/src/interfaces/ecpg/preproc/ecpg \  
$(PKG_BUILD_DIR)/src/interfaces/ecpg/preproc/ecpg.host  
$(MAKE) -C $(PKG_BUILD_DIR)/src/timezone CC="$(HOSTCC)"  
mv $(PKG_BUILD_DIR)/src/timezone/zic $(PKG_BUILD_DIR)/host-zic  
$(INSTALL_DIR) $(STAGING_DIR)/host/bin/  
$(CP) $(PKG_BUILD_DIR)/host-zic $(STAGING_DIR)/host/bin/zic  
$(MAKE) -C $(PKG_BUILD_DIR)/src/bin/pg_config CC="$(HOSTCC)"  
mv $(PKG_BUILD_DIR)/src/bin/pg_config/pg_config \  
$(PKG_BUILD_DIR)/src/bin/pg_config/pg_config.host  
$(MAKE) -C $(PKG_BUILD_DIR) distclean  
 
(cd $(PKG_BUILD_DIR); rm -f config.cache; \  
$(TARGET_CONFIGURE_OPTS) \  
CFLAGS="$(TARGET_CFLAGS)" \  
CPPFLAGS="$$$$CPPFLAGS $(TARGET_CPPFLAGS)" \  
LDFLAGS="$(TARGET_LDFLAGS)" \  
./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 \  
--infodir=/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-rendezvous \  
--without-tcl \  
--without-tk \  
--with-zlib="yes" \  
--enable-depend \  
$(if $(CONFIG_TARGET_avr32),--disable-spinlocks) \  
);  
$(SED) 's@ECPG = ../../preproc/ecpg@ECPG = ../../preproc/ecpg.host@' $(PKG_BUILD_DIR)/src/interfaces/ecpg/test/Makefile.regress  
endef  
 
TARGET_CFLAGS += $(FPIC) -lpthread  
 
# because PROFILE means something else in the project Makefile  
unexport PROFILE  
 
define Build/Compile  
+$(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \  
DESTDIR="$(PKG_INSTALL_DIR)" \  
all  
+$(MAKE) $(PKG_JOBS) -C "$(PKG_BUILD_DIR)" \  
DESTDIR="$(PKG_INSTALL_DIR)" \  
install  
endef  
 
define Package/libpq/install  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpq.so.* $(1)/usr/lib/  
endef  
 
define Package/pgsql-cli/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/psql $(1)/usr/bin/  
endef  
 
define Package/pgsql-server/install  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_DIR) $(1)/usr/share/postgresql  
$(INSTALL_DIR) $(1)/usr/lib  
$(INSTALL_DIR) $(1)/etc/init.d  
$(INSTALL_DIR) $(1)/etc/config  
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/* $(1)/usr/bin  
ln -sf postgres $(1)/usr/bin/postmaster  
 
$(INSTALL_BIN) ./files/postgresql.init $(1)/etc/init.d/postgresql  
 
$(CP) -r $(PKG_INSTALL_DIR)/usr/share/postgresql/* \  
$(1)/usr/share/postgresql  
 
$(INSTALL_DATA) ./files/postgresql.config $(1)/etc/config/postgresql  
 
$(CP) -r \  
$(PKG_INSTALL_DIR)/usr/lib/postgresql \  
$(1)/usr/lib  
endef  
 
define Package/pgsql-server/conffiles  
/etc/config/postgresql  
endef  
 
define Package/pgsql-server/postinst  
#!/bin/sh  
grep -q '^postgres:' /etc/passwd && exit 0  
group=$$(grep '^postgres:' /etc/group | cut -f3 -d:)  
if [ -z "$${group}" ] ; then  
group=1000  
tst=$$(cat /etc/group | grep ":$${group}:")  
while [ -n "$${tst}" ] ; do  
group=$$(($${group}+1))  
tst=$$(cat /etc/group | grep ":$${group}:")  
done  
echo "postgres:x:$${group}:" >>/etc/group  
fi  
 
user=$$(cat /etc/passwd | grep "^postgres:")  
if [ -z "$${user}" ] ; then  
num="$${group}"  
tst=$$(cat /etc/passwd | grep ":.*:$${num}:")  
while [ -n "$${tst}" ] ; do  
num=$$(($${num}+1))  
tst=$$(cat /etc/passwd | grep ":.*:$${num}:")  
done  
echo "postgres:*:$${num}:$${group}:PostgreSQL administrator:/tmp:/bin/ash" >>/etc/passwd  
fi  
endef  
 
define Build/InstallDev  
$(INSTALL_DIR) $(1)/usr/bin  
$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/bin/pg_config/pg_config.host $(1)/usr/bin/pg_config  
$(INSTALL_DIR) $(1)/usr/include  
$(CP) $(PKG_INSTALL_DIR)/usr/include/libpq $(1)/usr/include/  
$(CP) $(PKG_INSTALL_DIR)/usr/include/libpq-fe.h $(1)/usr/include/  
$(CP) $(PKG_INSTALL_DIR)/usr/include/pg_config.h $(1)/usr/include/  
$(CP) $(PKG_INSTALL_DIR)/usr/include/pg_config_manual.h $(1)/usr/include/  
$(CP) $(PKG_INSTALL_DIR)/usr/include/postgres_ext.h $(1)/usr/include/  
$(CP) $(PKG_INSTALL_DIR)/usr/include/postgresql $(1)/usr/include/  
$(INSTALL_DIR) $(1)/usr/lib  
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libpq.{a,so*} $(1)/usr/lib/  
$(CP) $(PKG_BUILD_DIR)/src/interfaces/ecpg/preproc/ecpg.host $(1)/usr/bin/ecpg  
$(CP) $(PKG_BUILD_DIR)/host-zic $(1)/usr/bin/zic  
endef  
 
$(eval $(call BuildPackage,libpq))  
$(eval $(call BuildPackage,pgsql-cli))  
$(eval $(call BuildPackage,pgsql-server))  
 
config postgresql config  
option PGUSER postgres  
option PGDATA /var/postgresql/data  
option PGLOG /var/postgresql/data/postgresql.log  
option PG_CTL /usr/bin/pg_ctl  
 
#!/bin/sh /etc/rc.common  
# Copyright (C) 2006 OpenWrt.org  
START=50  
 
EXTRA_COMMANDS="status reload"  
 
config_load "postgresql"  
config_get pgdata config PGDATA  
config_get pguser config PGUSER  
config_get pgctl config PG_CTL  
config_get pglog config PGLOG  
 
start() {  
if [ ! -e /usr/bin/su ]; then  
echo "The su command is requred to run postgres"  
exit 1  
fi  
 
if [ ! -d ${pgdata} ]; then  
echo "Create the data directory (${pgdata}) and try again"  
exit 1  
fi  
 
echo "starting postgres..."  
# make sure localhost (without a dot) is in /etc/hosts  
grep -q 'localhost$' /etc/hosts || echo '127.0.0.1 localhost' >> /etc/hosts  
 
# for whatever reason, /dev/null gets wrong perms  
chmod a+w /dev/null  
 
if [ -f ${pgdata}/postmaster.pid ]; then  
rm ${pgdata}/postmaster.pid  
fi  
 
config_get pgopts config PGOPTS  
if [ -n "${pgopts}" ]; then  
pgopts="-o ${pgopts}"  
fi  
/usr/bin/su ${pguser} -c "/usr/bin/postmaster -D '${pgdata}' &" >> ${pglog} 2>&1  
 
while :  
do  
cnt=$((${cnt} + 1))  
if [ -f "${pgdata}/postmaster.pid" ]; then  
ret=0  
break  
fi  
 
if [ ${cnt} -eq 30 ]; then  
echo "Postgres failed to start. See ${pglog} for details"  
ret=1  
break  
fi  
sleep 1  
done  
 
echo "ok"  
return ${ret}  
}  
 
stop() {  
echo "stopping postgres..."  
/usr/bin/su ${pguser} -c "${pgctl} stop -D '${pgdata}' -s -m fast"  
ret=$?  
if [ -f ${pgdata}/postmaster.pid ]; then  
rm ${pgdata}/postmaster.pid  
fi  
echo "ok"  
return ${ret}  
}  
 
restart() {  
echo "restarting postgres..."  
/usr/bin/su ${pguser} -c "${pgctl} stop -D '${pgdata}' -s -m fast -w"  
if [ -f ${pgdata}/postmaster.pid ]; then  
rm ${pgdata}/postmaster.pid  
fi  
/usr/bin/su ${pguser} -c "/usr/bin/postmaster -D '${pgdata}' &" >> ${pglog} 2>&1  
echo "ok"  
return $?  
}  
 
reload() {  
echo "reloading postgres..."  
/usr/bin/su ${pguser} -c "${pgctl} reload -D '${pgdata}' -s"  
echo "ok"  
}  
 
status() {  
echo "status postgres..."  
/usr/bin/su ${pguser} -c "${pgctl} status -D '${pgdata}'"  
echo "ok"  
}  
 
--- a/src/port/Makefile  
+++ b/src/port/Makefile  
@@ -53,6 +53,7 @@ uninstall:  
 
libpgport.a: $(OBJS)  
$(AR) $(AROPT) $@ $^  
+ $(RANLIB) libpgport.a  
 
# thread.o needs PTHREAD_CFLAGS (but thread_srv.o does not)  
thread.o: thread.c  
 
--- a/src/bin/psql/print.h  
+++ b/src/bin/psql/print.h  
@@ -171,10 +171,6 @@ extern void printQuery(const PGresult *r  
extern void setDecimalLocale(void);  
extern const printTextFormat *get_line_style(const printTableOpt *opt);  
 
-#ifndef __CYGWIN__  
-#define DEFAULT_PAGER "more"  
-#else  
#define DEFAULT_PAGER "less"  
-#endif  
 
#endif /* PRINT_H */  
 
comments