postgresql: fix build and improve packaging
authorDaniel Golle <daniel@makrotopia.org>
Mon, 19 Jun 2017 18:47:16 +0000 (20:47 +0200)
committerDaniel Golle <daniel@makrotopia.org>
Mon, 19 Jun 2017 18:49:40 +0000 (20:49 +0200)
* make sure contrib stuff gets built and installed
* refresh patches and improve Makefile while at it

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
libs/postgresql/Makefile
libs/postgresql/patches/001-configure_fixes.patch
libs/postgresql/patches/050-build-contrib.patch [new file with mode: 0644]
libs/postgresql/patches/800-busybox-default-pager.patch
libs/postgresql/patches/900-pg_ctl-setuid.patch

index cb3f1f96f322738b1e590b4b60448a38852cc373..bc9c1026bb67cefcee7086e40b8590d0fca354a7 100644 (file)
@@ -1,6 +1,3 @@
-#
-# Copyright (C) 2006-2014 OpenWrt.org
-#
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
@@ -9,7 +6,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=postgresql
 PKG_VERSION:=9.4.12
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
 PKG_LICENSE:=PostgreSQL
 
@@ -24,6 +21,7 @@ PKG_USE_MIPS16:=0
 PKG_FIXUP:=autoreconf
 PKG_MACRO_PATHS:=config
 PKG_BUILD_DEPENDS += postgresql/host
+PKG_INSTALL:=1
 
 include $(INCLUDE_DIR)/host-build.mk
 include $(INCLUDE_DIR)/package.mk
@@ -145,8 +143,8 @@ define Host/Compile
 endef
 
 define Host/Install
-       $(INSTALL_DIR) $(STAGING_DIR)/usr/bin/
-       $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/bin/pg_config/pg_config $(STAGING_DIR)/usr/bin/
+       $(INSTALL_DIR) $(STAGING_DIR)/host/bin/
+       $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/bin/pg_config/pg_config $(STAGING_DIR)/host/bin/
        $(INSTALL_DIR) $(STAGING_DIR_HOSTPKG)/bin/
        $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/interfaces/ecpg/preproc/ecpg $(STAGING_DIR_HOSTPKG)/bin/
        $(INSTALL_BIN) $(HOST_BUILD_DIR)/src/timezone/zic $(STAGING_DIR_HOSTPKG)/bin/
@@ -162,15 +160,6 @@ 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/
@@ -212,6 +201,7 @@ endef
 
 define Build/InstallDev
        $(INSTALL_DIR) $(1)/usr/bin
+       $(LN) $(STAGING_DIR)/host/bin/pg_config $(1)/usr/bin
        $(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/
index bc0d2e15e10221eb23638dd73ba8fc176a183979..2edaba6a04c6e410e727f5dd1e6bd60e0cbabef9 100644 (file)
@@ -2,7 +2,7 @@
 +++ b/configure.in
 @@ -25,7 +25,7 @@ recommended.  You can remove the check f
  your responsibility whether the result works or not.])])
- AC_COPYRIGHT([Copyright (c) 1996-2015, PostgreSQL Global Development Group])
+ AC_COPYRIGHT([Copyright (c) 1996-2014, PostgreSQL Global Development Group])
  AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
 -AC_CONFIG_AUX_DIR(config)
 +AC_CONFIG_AUX_DIR([config])
diff --git a/libs/postgresql/patches/050-build-contrib.patch b/libs/postgresql/patches/050-build-contrib.patch
new file mode 100644 (file)
index 0000000..b127cf0
--- /dev/null
@@ -0,0 +1,11 @@
+--- a/GNUmakefile.in
++++ b/GNUmakefile.in
+@@ -8,7 +8,7 @@ subdir =
+ top_builddir = .
+ include $(top_builddir)/src/Makefile.global
+-$(call recurse,all install,src config)
++$(call recurse,all install,src config contrib)
+ all:
+       +@echo "All of PostgreSQL successfully made. Ready to install."
index 0c60867838c33893992643910c736663c5cdab83..1be19699182f4a2d9720485e10f6dd24d1c083bb 100644 (file)
@@ -1,8 +1,8 @@
 --- a/src/bin/psql/print.h
 +++ b/src/bin/psql/print.h
-@@ -197,10 +197,6 @@ extern void setDecimalLocale(void);
+@@ -179,10 +179,6 @@ extern void printQuery(const PGresult *r
+ extern void setDecimalLocale(void);
  extern const printTextFormat *get_line_style(const printTableOpt *opt);
- extern void refresh_utf8format(const printTableOpt *opt);
  
 -#ifndef __CYGWIN__
 -#define DEFAULT_PAGER "more"
index f0bec3a13753259608610022b3979e793e590624..b8d95e81c630dd152819b68a7f0dd9bd6d375a49 100644 (file)
@@ -1,8 +1,6 @@
-Index: postgresql-9.5.4/src/bin/pg_ctl/pg_ctl.c
-===================================================================
---- postgresql-9.5.4.orig/src/bin/pg_ctl/pg_ctl.c
-+++ postgresql-9.5.4/src/bin/pg_ctl/pg_ctl.c
-@@ -95,6 +95,7 @@ static char *event_source = NULL;
+--- a/src/bin/pg_ctl/pg_ctl.c
++++ b/src/bin/pg_ctl/pg_ctl.c
+@@ -94,6 +94,7 @@ static char *exec_path = NULL;
  static char *register_servicename = "PostgreSQL";             /* FIXME: + version ID? */
  static char *register_username = NULL;
  static char *register_password = NULL;
@@ -10,8 +8,8 @@ Index: postgresql-9.5.4/src/bin/pg_ctl/pg_ctl.c
  static char *argv0 = NULL;
  static bool allow_core_files = false;
  static time_t start_time;
-@@ -2114,6 +2115,9 @@ do_help(void)
- #endif
+@@ -2093,6 +2094,9 @@ do_help(void)
+       printf(_("  -D, --pgdata=DATADIR   location of the database storage area\n"));
        printf(_("  -s, --silent           only print errors, no informational messages\n"));
        printf(_("  -t, --timeout=SECS     seconds to wait when using -w option\n"));
 +#if !defined(WIN32) && !defined(__CYGWIN__)
@@ -20,7 +18,7 @@ Index: postgresql-9.5.4/src/bin/pg_ctl/pg_ctl.c
        printf(_("  -V, --version          output version information, then exit\n"));
        printf(_("  -w                     wait until operation completes\n"));
        printf(_("  -W                     do not wait until operation completes\n"));
-@@ -2310,6 +2314,7 @@ main(int argc, char **argv)
+@@ -2289,6 +2293,7 @@ main(int argc, char **argv)
                {"pgdata", required_argument, NULL, 'D'},
                {"silent", no_argument, NULL, 's'},
                {"timeout", required_argument, NULL, 't'},
@@ -28,7 +26,7 @@ Index: postgresql-9.5.4/src/bin/pg_ctl/pg_ctl.c
                {"core-files", no_argument, NULL, 'c'},
                {NULL, 0, NULL, 0}
        };
-@@ -2350,20 +2355,6 @@ main(int argc, char **argv)
+@@ -2329,20 +2334,6 @@ main(int argc, char **argv)
                }
        }
  
@@ -49,7 +47,7 @@ Index: postgresql-9.5.4/src/bin/pg_ctl/pg_ctl.c
  
        env_wait = getenv("PGCTLTIMEOUT");
        if (env_wait != NULL)
-@@ -2449,11 +2440,15 @@ main(int argc, char **argv)
+@@ -2416,11 +2407,15 @@ main(int argc, char **argv)
                                        wait_seconds_arg = true;
                                        break;
                                case 'U':
@@ -65,7 +63,7 @@ Index: postgresql-9.5.4/src/bin/pg_ctl/pg_ctl.c
                                        break;
                                case 'w':
                                        do_wait = true;
-@@ -2535,6 +2530,41 @@ main(int argc, char **argv)
+@@ -2502,6 +2497,41 @@ main(int argc, char **argv)
                exit(1);
        }