[HACKERS] Porting PostgreSQL to DragonFly BSD

2011-02-27 Thread Rumko
>From what I have checked, all work on making postgresql compile on new
platforms should be posted to this list, so here it goes.

The attached patch (also available at
http://www.rumko.net/0001-DragonFly-BSD-support.patch ) applies cleanly to the
master branch and can be cherry-picked to REL9_0_STABLE branch without
conflicts.

It's based on postgres' FreeBSD support with minimal changes (a few
freebsd->dragonfly renames, removed mips support since dragonfly does not
support it and it also includes a patch to properly define the linker on dfly
as per PR pkg/44617 in http://www.netbsd.org/support/query-pr.html gnats
database).
-- 
Regards,
Rumko


0001-DragonFly-BSD-support.patch
Description: application/mbox

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Porting PostgreSQL to DragonFly BSD

2011-03-01 Thread Rumko
On Sunday 27. of February 2011 23:50:17 Peter Eisentraut wrote:
> On sön, 2011-02-27 at 21:19 +0100, Rumko wrote:
> > The attached patch (also available at
> > http://www.rumko.net/0001-DragonFly-BSD-support.patch ) applies cleanly
> > to the master branch and can be cherry-picked to REL9_0_STABLE branch
> > without conflicts.
>
> It seems to me that it would be easier to just map dragonfly to the
> freebsd template.

I didn't see a precedence for that kind of introduction of a new platform (all 
others seem to have their own templates), so thought it would've had less 
chance of being accepted.

Is it preferable to have it linked instead of having it separate like in the 
current patch?
-- 
Regards,
Rumko


signature.asc
Description: This is a digitally signed message part.


Re: [HACKERS] Porting PostgreSQL to DragonFly BSD

2011-03-01 Thread Rumko
On Tuesday 1. of March 2011 16:07:47 Tom Lane wrote:
> Rumko  writes:
> > On Sunday 27. of February 2011 23:50:17 Peter Eisentraut wrote:
> >> It seems to me that it would be easier to just map dragonfly to the
> >> freebsd template.
> >
> > I didn't see a precedence for that kind of introduction of a new platform
> > (all others seem to have their own templates), so thought it would've had
> > less chance of being accepted.
>
> When I looked at that patch, I actually couldn't see anything different
> at all from freebsd.  We aren't interested in maintaining 99% duplicate
> code --- it seems much easier from a maintenance standpoint to introduce
> an ifdef or two into the freebsd code, rather than deal with a large cut
> and paste job.  Please try it that way and see what you come up with.
> (It's possible that it'll be so ugly that we agree your original patch
> is better, but we need to see the results of the experiment.)
>
>   regards, tom lane

Well, wouldn't consider it ugly, but the patch (attached and available at 
http://www.rumko.net/0001-DragonFly-BSD-support-linked.patch ) is a lot 
shorter.

Uses freebsd's template and defines the linker in Makefile.shlib.
-- 
Regards,
Rumko
From cf98b549799fac991ee627f16f6131c092913101 Mon Sep 17 00:00:00 2001
From: Rumko 
Date: Sun, 27 Feb 2011 20:56:11 +0100
Subject: [PATCH] DragonFly BSD support.

Based on FreeBSD port with minimal changes.
---
 configure  |1 +
 configure.in   |1 +
 src/Makefile.shlib |   11 +++
 3 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/configure b/configure
index 0bddb5f..b4da314 100755
--- a/configure
+++ b/configure
@@ -2196,6 +2196,7 @@ case $host_os in
   darwin*) template=darwin ;;
 dgux*) template=dgux ;;
  freebsd*) template=freebsd ;;
+dragonfly*) template=freebsd ;;
 hpux*) template=hpux ;;
 irix*) template=irix ;;
  linux*|gnu*|k*bsd*-gnu)
diff --git a/configure.in b/configure.in
index 6aae504..5178570 100644
--- a/configure.in
+++ b/configure.in
@@ -60,6 +60,7 @@ case $host_os in
   darwin*) template=darwin ;;
 dgux*) template=dgux ;;
  freebsd*) template=freebsd ;;
+dragonfly*) template=freebsd ;;
 hpux*) template=hpux ;;
 irix*) template=irix ;;
  linux*|gnu*|k*bsd*-gnu)
diff --git a/src/Makefile.shlib b/src/Makefile.shlib
index a5cf6c6..a78c98c 100644
--- a/src/Makefile.shlib
+++ b/src/Makefile.shlib
@@ -198,6 +198,17 @@ ifeq ($(PORTNAME), netbsd)
   endif
 endif
 
+ifeq ($(PORTNAME), dragonfly)
+  ifdef ELF_SYSTEM
+LINK.shared= $(COMPILER) -shared
+ifdef soname
+  LINK.shared  += -Wl,-x,-soname,$(soname)
+endif
+  else
+LINK.shared= $(LD) -x -Bshareable -Bforcearchive
+  endif
+endif
+
 ifeq ($(PORTNAME), hpux)
   ifdef SO_MAJOR_VERSION
 shlib  = lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION)
-- 
1.7.3.5



signature.asc
Description: This is a digitally signed message part.


Re: [HACKERS] Porting PostgreSQL to DragonFly BSD

2011-03-01 Thread Rumko
On Tuesday 1. of March 2011 22:44:16 Peter Eisentraut wrote:
> On tis, 2011-03-01 at 22:22 +0100, Rumko wrote:
> > Well, wouldn't consider it ugly, but the patch (attached and available at
> > http://www.rumko.net/0001-DragonFly-BSD-support-linked.patch ) is a lot
> > shorter.
> >
> > Uses freebsd's template and defines the linker in Makefile.shlib.
>
> The piece in Makefile.shlib you add is dead code because PORTNAME will
> never be "dragonfly" (it would be "freebsd").

Ah, good to know.

> I see there is a 
> difference between the existing freebsd code and what you propose to add
> in that freebsd doesn't use shared object minor versions.  Is that also
> or not the case on DragonFly BSD?

Due to pkgsrc being the default on NetBSD and DragonFly BSD, it should create 
the libs in the same way ... maybe instead of using PORTNAME, we could use 
host_os to differentiate?
-- 
Regards,
Rumko


signature.asc
Description: This is a digitally signed message part.


Re: [HACKERS] Porting PostgreSQL to DragonFly BSD

2011-03-02 Thread Rumko
On Tuesday 1. of March 2011 23:05:17 Rumko wrote:
> On Tuesday 1. of March 2011 22:44:16 Peter Eisentraut wrote:
> > On tis, 2011-03-01 at 22:22 +0100, Rumko wrote:
> > > Well, wouldn't consider it ugly, but the patch (attached and available
> > > at http://www.rumko.net/0001-DragonFly-BSD-support-linked.patch ) is a
> > > lot shorter.
> > >
> > > Uses freebsd's template and defines the linker in Makefile.shlib.
> >
> > The piece in Makefile.shlib you add is dead code because PORTNAME will
> > never be "dragonfly" (it would be "freebsd").
>
> Ah, good to know.
>
> > I see there is a
> > difference between the existing freebsd code and what you propose to add
> > in that freebsd doesn't use shared object minor versions.  Is that also
> > or not the case on DragonFly BSD?
>
> Due to pkgsrc being the default on NetBSD and DragonFly BSD, it should
> create the libs in the same way ... maybe instead of using PORTNAME, we
> could use host_os to differentiate?

What about this patch ( 
http://www.rumko.net/0001-DragonFly-BSD-support-linked-nbsd.patch )? instead 
of linking to freebsd, it's linked to netbsd and It still compiles due to the 
two templates being similar enough.
-- 
Regards,
Rumko
From 1ba04688d97d8e6d489d2d44b335cf03c64564bb Mon Sep 17 00:00:00 2001
From: Rumko 
Date: Sun, 27 Feb 2011 20:56:11 +0100
Subject: [PATCH] DragonFly BSD support.

Based on NetBSD port.
---
 configure|1 +
 configure.in |1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/configure b/configure
index 0bddb5f..e55714c 100755
--- a/configure
+++ b/configure
@@ -2196,6 +2196,7 @@ case $host_os in
   darwin*) template=darwin ;;
 dgux*) template=dgux ;;
  freebsd*) template=freebsd ;;
+dragonfly*) template=netbsd ;;
 hpux*) template=hpux ;;
 irix*) template=irix ;;
  linux*|gnu*|k*bsd*-gnu)
diff --git a/configure.in b/configure.in
index 6aae504..d45cbc8 100644
--- a/configure.in
+++ b/configure.in
@@ -60,6 +60,7 @@ case $host_os in
   darwin*) template=darwin ;;
 dgux*) template=dgux ;;
  freebsd*) template=freebsd ;;
+dragonfly*) template=netbsd ;;
 hpux*) template=hpux ;;
 irix*) template=irix ;;
  linux*|gnu*|k*bsd*-gnu)
-- 
1.7.3.5



signature.asc
Description: This is a digitally signed message part.


Re: [HACKERS] Porting PostgreSQL to DragonFly BSD

2011-03-03 Thread Rumko
On Wednesday 2. of March 2011 20:18:08 Peter Eisentraut wrote:
> On ons, 2011-03-02 at 09:10 +0100, Rumko wrote:
> > What about this patch (
> > http://www.rumko.net/0001-DragonFly-BSD-support-linked-nbsd.patch )?
> > instead of linking to freebsd, it's linked to netbsd and It still
> > compiles due to the two templates being similar enough.
>
> Looks good.  Committed.

Thank you.
-- 
Regards,
Rumko


signature.asc
Description: This is a digitally signed message part.