mirror of
				https://gitlab.alpinelinux.org/alpine/aports.git
				synced 2025-10-31 08:21:49 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			70 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| Author: Martin Pitt <mpitt@debian.org>
 | |
| Description: Use version specific installation directories so that several major versions can be installed in parallel.
 | |
| 
 | |
|  * Install server lib files into /usr/lib/postgresql<version>/
 | |
|  * Install server related header files into /usr/include/postgresql/<version>/server/
 | |
|  * Disable PostgreSQL's automagic path mangling and fix libdir for pg_config,
 | |
|    so that pg_config in /usr/bin and /usr/libexec/postgresql<version> behave
 | |
|    identically.
 | |
| 
 | |
| Bug-Debian: http://bugs.debian.org/462037
 | |
| Patch-Source: https://sources.debian.org/src/postgresql-14/14.0-1/debian/patches/50-per-version-dirs.patch
 | |
| 
 | |
| --- a/src/Makefile.global.in
 | |
| +++ b/src/Makefile.global.in
 | |
| @@ -119,7 +119,7 @@ libdir := @libdir@
 | |
|  pkglibdir = $(libdir)
 | |
|  ifeq "$(findstring pgsql, $(pkglibdir))" ""
 | |
|  ifeq "$(findstring postgres, $(pkglibdir))" ""
 | |
| -override pkglibdir := $(pkglibdir)/postgresql
 | |
| +override pkglibdir := /usr/lib/postgresql@PG_MAJORVERSION@
 | |
|  endif
 | |
|  endif
 | |
|  
 | |
| @@ -167,7 +167,7 @@ endif # PGXS
 | |
|  
 | |
|  # These derived path variables aren't separately configurable.
 | |
|  
 | |
| -includedir_server = $(pkgincludedir)/server
 | |
| +includedir_server = $(pkgincludedir)/@PG_MAJORVERSION@/server
 | |
|  includedir_internal = $(pkgincludedir)/internal
 | |
|  pgxsdir = $(pkglibdir)/pgxs
 | |
|  bitcodedir = $(pkglibdir)/bitcode
 | |
| --- a/src/bin/pg_config/pg_config.c
 | |
| +++ b/src/bin/pg_config/pg_config.c
 | |
| @@ -27,6 +27,8 @@
 | |
|  #include "common/config_info.h"
 | |
|  #include "port.h"
 | |
|  
 | |
| +#include "../port/pg_config_paths.h"
 | |
| +
 | |
|  static const char *progname;
 | |
|  
 | |
|  /*
 | |
| @@ -149,11 +151,7 @@ main(int argc, char **argv)
 | |
|  		}
 | |
|  	}
 | |
|  
 | |
| -	if (find_my_exec(argv[0], my_exec_path) < 0)
 | |
| -	{
 | |
| -		fprintf(stderr, _("%s: could not find own program executable\n"), progname);
 | |
| -		exit(1);
 | |
| -	}
 | |
| +	snprintf(my_exec_path, sizeof(my_exec_path), "%s/%s", PGBINDIR, progname);
 | |
|  
 | |
|  	configdata = get_configdata(my_exec_path, &configdata_len);
 | |
|  	/* no arguments -> print everything */
 | |
| --- a/src/test/perl/TestLib.pm
 | |
| +++ b/src/test/perl/TestLib.pm
 | |
| @@ -591,6 +591,10 @@ sub check_pg_config
 | |
|  	  or die "could not execute pg_config";
 | |
|  	chomp($stdout);
 | |
|  	$stdout =~ s/\r$//;
 | |
| +	# Alpine's pg_config is not relocatable, manually check for correct location
 | |
| +	if (-d "../../../build/tmp_install/usr/include/postgresql") {
 | |
| +		$stdout = "../../../build/tmp_install/usr/include/postgresql";
 | |
| +	}
 | |
|  
 | |
|  	open my $pg_config_h, '<', "$stdout/pg_config.h" or die "$!";
 | |
|  	my $match = (grep { /^$regexp/ } <$pg_config_h>);
 |