X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=blobdiff_plain;f=libs%2Fpostgresql%2FMakefile;h=30103610eea444af8df71fab522fadb05fed707a;hp=7bb3f5332604bb5d47bec062020460363d09bbb8;hb=f69862bf5e1cde747a2c4f15eeca872e0030c6bd;hpb=5360edce8f45be94248e74df88c9c3c4206bf3ce diff --git a/libs/postgresql/Makefile b/libs/postgresql/Makefile index 7bb3f53326..30103610ee 100644 --- a/libs/postgresql/Makefile +++ b/libs/postgresql/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=postgresql -PKG_VERSION:=7.4.14 +PKG_VERSION:=8.2.3 PKG_RELEASE:=1 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) @@ -17,7 +17,7 @@ PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=\ ftp://ftp.us.postgresql.org/pub/mirrors/postgresql/source/v$(PKG_VERSION) \ ftp://ftp-archives.postgresql.org/pub/source/v$(PKG_VERSION) -PKG_MD5SUM:=2e0e82552f8463343df5d89348356481 +PKG_MD5SUM:=cb47771004d53505200ffd00ac45bc32 PKG_CAT:=bzcat PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install @@ -42,13 +42,62 @@ define Package/pgsql-cli URL:=http://www.postgresql.org/ endef -# ./configure advertise "--infodir", but does not support it, replaced with "--docdir" +define Package/pgsql-server + SECTION:=utils + CATEGORY:=Utilities + DEPENDS:=+libpq @C99_MATH + TITLE:=PostgreSQL databases Server + DESCRIPTION:=PostgreSQL databases Server. + URL:=http://www.postgresql.org/ +endef + +# Need a native ecpg 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) \ + $(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" \ + ); + $(MAKE) -C $(PKG_BUILD_DIR)/src/interfaces/ecpg/preproc CC="gcc" 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="gcc" + mv $(PKG_BUILD_DIR)/src/timezone/zic $(PKG_BUILD_DIR)/src/timezone/zic.host + $(MAKE) -C $(PKG_BUILD_DIR) distclean + (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" \ + CFLAGS="$(TARGET_CFLAGS)" \ + CPPFLAGS="$$$$CPPFLAGS $(EXTRA_CPPFLAGS)" \ + LDFLAGS="$(EXTRA_LDFLAGS)" \ ./configure \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ @@ -60,7 +109,7 @@ define Build/Configure --bindir=/usr/bin \ --datadir=/usr/share \ --includedir=/usr/include \ - --docdir=/usr/share/info \ + --infodir=/usr/share/info \ --libdir=/usr/lib \ --libexecdir=/usr/lib \ --localstatedir=/var \ @@ -86,21 +135,12 @@ define Build/Configure --without-tk \ --with-zlib="yes" \ ); + $(SED) 's@ECPG = ../../preproc/ecpg@ECPG = ../../preproc/ecpg.host@' $(PKG_BUILD_DIR)/src/interfaces/ecpg/test/Makefile.regress + $(SED) 's@\./zic -d@./zic.host -d@' $(PKG_BUILD_DIR)/src/timezone/Makefile 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" \ + $(MAKE) -C "$(PKG_BUILD_DIR)" \ DESTDIR="$(PKG_INSTALL_DIR)" \ all install endef @@ -115,6 +155,83 @@ define Package/pgsql-cli/install $(CP) $(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/postgres \ + $(PKG_INSTALL_DIR)/usr/bin/dropdb \ + $(PKG_INSTALL_DIR)/usr/bin/createdb \ + $(PKG_INSTALL_DIR)/usr/bin/createuser \ + $(PKG_INSTALL_DIR)/usr/bin/dropuser \ + $(PKG_INSTALL_DIR)/usr/bin/initdb \ + $(PKG_INSTALL_DIR)/usr/bin/pg_config \ + $(PKG_INSTALL_DIR)/usr/bin/pg_controldata \ + $(PKG_INSTALL_DIR)/usr/bin/pg_ctl \ + $(PKG_INSTALL_DIR)/usr/bin/pg_dump \ + $(PKG_INSTALL_DIR)/usr/bin/pg_dumpall \ + $(PKG_INSTALL_DIR)/usr/bin/pg_restore \ + $(PKG_INSTALL_DIR)/usr/bin/vacuumdb \ + $(1)/usr/bin + + $(INSTALL_BIN) ./files/postgresql.init $(1)/etc/init.d/postgresql + + $(INSTALL_DATA) \ + $(PKG_INSTALL_DIR)/usr/share/postgresql/postgres.bki \ + $(PKG_INSTALL_DIR)/usr/share/postgresql/postgres.description \ + $(PKG_INSTALL_DIR)/usr/share/postgresql/conversion_create.sql \ + $(PKG_INSTALL_DIR)/usr/share/postgresql/information_schema.sql \ + $(PKG_INSTALL_DIR)/usr/share/postgresql/pg_hba.conf.sample \ + $(PKG_INSTALL_DIR)/usr/share/postgresql/pg_ident.conf.sample \ + $(PKG_INSTALL_DIR)/usr/share/postgresql/pg_service.conf.sample \ + $(PKG_INSTALL_DIR)/usr/share/postgresql/postgresql.conf.sample \ + $(PKG_INSTALL_DIR)/usr/share/postgresql/sql_features.txt \ + $(PKG_INSTALL_DIR)/usr/share/postgresql/postgres.shdescription \ + $(PKG_INSTALL_DIR)/usr/share/postgresql/psqlrc.sample \ + $(PKG_INSTALL_DIR)/usr/share/postgresql/recovery.conf.sample \ + $(PKG_INSTALL_DIR)/usr/share/postgresql/system_views.sql \ + $(1)/usr/share/postgresql + + $(INSTALL_DATA) ./files/postgresql.config $(1)/etc/config/postgresql + + $(CP) -r \ + $(PKG_INSTALL_DIR)/usr/share/postgresql/timezone \ + $(PKG_INSTALL_DIR)/usr/share/postgresql/timezonesets \ + $(1)/usr/share/postgresql + + $(CP) -r \ + $(PKG_INSTALL_DIR)/usr/lib/postgresql \ + $(1)/usr/lib +endef + +define Package/pgsql-server/postinst +#!/bin/sh +grep -q '^postgres:' /etc/passwd && exit 0 + +if [ -e /bin/addgroup ]; then + /bin/addgroup postgres + RG=$$? + + if [ -e /bin/adduser ]; then + /bin/adduser -h /tmp -H -g 'PostgreSQL administrator' -s /bin/ash -D -H -G postgres postgres + RU=$$? + fi +fi + +if [ -z "$${RG}" -o -z "$${RU}" ]; then + echo "Could not find user utils, you will need to create the postgres user by hand" + exit +fi + +if [ "$${RG}" != "0" -o "$${RU}" != "0" ]; then + echo "Failed to created postgres user" + exit 1 +fi +endef + define Build/InstallDev mkdir -p $(STAGING_DIR)/usr/bin $(CP) $(PKG_INSTALL_DIR)/usr/bin/pg_config $(STAGING_DIR)/usr/bin/ @@ -126,6 +243,8 @@ define Build/InstallDev $(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/ + $(CP) $(PKG_BUILD_DIR)/src/interfaces/ecpg/preproc/ecpg.host $(STAGING_DIR)/usr/bin/ecpg + $(CP) $(PKG_BUILD_DIR)/src/timezone/zic.host $(STAGING_DIR)/usr/bin/zic endef define Build/UninstallDev @@ -136,8 +255,11 @@ define Build/UninstallDev $(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*} + $(STAGING_DIR)/usr/lib/libpq.{a,so*} \ + $(STAGING_DIR)/usr/bin/ecpg \ + $(STAGING_DIR)/usr/bin/zic endef $(eval $(call BuildPackage,libpq)) $(eval $(call BuildPackage,pgsql-cli)) +$(eval $(call BuildPackage,pgsql-server))