Bug 71177

Summary: repo-copy request: [MAINTAINER] databases/postgresql-server: update to 7.4.5 and client/server split
Product: Ports & Packages Reporter: Palle Girgensohn <girgen>
Component: Individual Port(s)Assignee: Ade Lovett <ade>
Status: Closed FIXED    
Severity: Affects Only Me CC: portmgr
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
postgresql-update.tar.bz2 none

Description Palle Girgensohn 2004-08-31 05:40:28 UTC
- Update to 7.4.5
- Split port into a -server and a -client part
- Handle slave ports better, esp. with older server versions


This upgrade needs a repo copy from postgresql7 and modifies bsd.port.mk

I'll be sending more stuff for postgresql 7.2, 7.3 and 8.0 tomorrow,
and also patches for all ports requiring postgresql-client. Perhaps
best to commit it all at once?

Instructions for how to upgrade (also in the README inside the tarball):

patch Mk/bsd.port.mk with stuff shamelessly stolen from the MySQL port

 bsd.port.mk.diff

Then, repo-copy:

 postgresql7  -> postgresql74-server (+)

patch the new port accordingly with patch:

 postgresql74-server.diff

cvs remove files (or skip repo copy)
 postgresql74-server/pkg-install
 postgresql74-server/pkg-plist
 postgresql74-server/files/pkg-message.server
 postgresql74-server/files/post-install-notes

cvs add files:

 postgresql74-server/pkg-message-client
 postgresql74-server/pkg-message-contrib
 postgresql74-server/pkg-message-jdbc
 postgresql74-server/pkg-message-plperl
 postgresql74-server/pkg-message-pltcl
 postgresql74-server/pkg-message-server
 postgresql74-server/pkg-message-tcltk
 postgresql74-server/pkg-plist-client
 postgresql74-server/pkg-plist-jdbc
 postgresql74-server/pkg-plist-plperl
 postgresql74-server/pkg-plist-pltcl
 postgresql74-server/pkg-plist-server
 postgresql74-server/pkg-plist-tcltk
 postgresql74-server/pkg-install-server (+)

new port:

 postgresql74-client.shar


modified slave ports:

 p5-postgresql-plperl.diff
 postgresql-contrib.diff
 postgresql-docs.diff
 postgresql-jdbc
 postgresql-pltcl.diff
 postgresql-tcltk.diff

cvs remove \
 p5-postgresql-plperl/pkg-plist \
 p5-postgresql-plperl/pkg-message \
 postgresql-contrib/pkg-plist \
 postgresql-contrib/pkg-message \
 postgresql-docs/pkg-plist \
 postgresql-jdbc/pkg-message \
 postgresql-jdbc/pkg-plist \
 postgresql-pltcl/pkg-plist \
 postgresql-pltcl/pkg-message \
 postgresql-tcltk/pkg-plist

(+) the files pkg-plist, files/post-install-notes and
    files/pkg-message.server don't need to be repo-copied, perhaps
    easiest to copy them with the rest and then remove?

    the file pkg-install should really be repo-copied ->
    pkg-install-server, but perhaps not worth the effort?
Comment 1 Ade Lovett freebsd_committer freebsd_triage 2004-08-31 05:57:03 UTC
Responsible Changed
From-To: freebsd-ports-bugs->ade

As sent in email to submitter and portmgr@, since I opened the Pandora's 
Box here, it's only right that I take point on getting this into the 
tree, though it will not happen until 5.3-REL is out the door.
Comment 2 Oliver Eikemeier 2004-08-31 09:28:44 UTC
Palle Girgensohn wrote:

> patch Mk/bsd.port.mk with stuff shamelessly stolen from the MySQL port

Besides needing entries for MOVED and UPDATING, *please do not check 
WITH_x variables in bsd.port.mk*.
-Oliver
Comment 3 Palle Girgensohn 2004-08-31 11:19:22 UTC
--On tisdag, augusti 31, 2004 10.28.44 +0200 Oliver Eikemeier 
<eikemeier@fillmore-labs.com> wrote:

> Palle Girgensohn wrote:
>
>> patch Mk/bsd.port.mk with stuff shamelessly stolen from the MySQL port
>
> Besides needing entries for MOVED and UPDATING, *please do not check
> WITH_x variables in bsd.port.mk*.

Hmm, OK. I merely copied the myslq behaviour, it been around a while so I 
thought it would be OK. So, you mean, if the users wants a non-default 
version of postgresql, he has to install that version of 
postgresqlNN-client, and it will discovered automatically. Sure, why not. 
I'll send a patch.

/Palle
Comment 4 Oliver Eikemeier 2004-08-31 11:36:46 UTC
Palle Girgensohn wrote:

> --On tisdag, augusti 31, 2004 10.28.44 +0200 Oliver Eikemeier 
> <eikemeier@fillmore-labs.com> wrote:
>
>> Palle Girgensohn wrote:
>>
>>> patch Mk/bsd.port.mk with stuff shamelessly stolen from the MySQL port
>>
>> Besides needing entries for MOVED and UPDATING, *please do not check
>> WITH_x variables in bsd.port.mk*.
>
> Hmm, OK. I merely copied the myslq behaviour, it been around a while so 
> I thought it would be OK. So, you mean, if the users wants a 
> non-default version of postgresql, he has to install that version of 
> postgresqlNN-client, and it will discovered automatically. Sure, why 
> not. I'll send a patch.

No. What I would prefer (personal preference) is that a non-default 
version of postgresql has to be specified in /etc/make.conf, and no 
autodetection takes places.

The point here is that every != spawns a process, even when no build is 
intended (like INDEX builds, or other tools operating on the ports tree).

Anyway, what I wanted to say is that WITH_x is reserved for user -> port 
communication and must not be used in bsd.port.mk, I've been already 
bitten by WITH_MYSQL_VER once. I don't believe the MySQL stuff in 
bsd.port.mk makes a pretty good example that should be followed...

-Oliver
Comment 5 Palle Girgensohn 2004-08-31 11:49:26 UTC
--On tisdag, augusti 31, 2004 12.36.46 +0200 Oliver Eikemeier 
<eikemeier@fillmore-labs.com> wrote:

> Palle Girgensohn wrote:
>
>> --On tisdag, augusti 31, 2004 10.28.44 +0200 Oliver Eikemeier
>> <eikemeier@fillmore-labs.com> wrote:
>>
>>> Palle Girgensohn wrote:
>>>
>>>> patch Mk/bsd.port.mk with stuff shamelessly stolen from the MySQL port
>>>
>>> Besides needing entries for MOVED and UPDATING, *please do not check
>>> WITH_x variables in bsd.port.mk*.
>>
>> Hmm, OK. I merely copied the myslq behaviour, it been around a while so
>> I thought it would be OK. So, you mean, if the users wants a
>> non-default version of postgresql, he has to install that version of
>> postgresqlNN-client, and it will discovered automatically. Sure, why
>> not. I'll send a patch.
>
> No. What I would prefer (personal preference) is that a non-default
> version of postgresql has to be specified in /etc/make.conf, and no
> autodetection takes places.
>
> The point here is that every != spawns a process, even when no build is
> intended (like INDEX builds, or other tools operating on the ports tree).
>
> Anyway, what I wanted to say is that WITH_x is reserved for user -> port
> communication and must not be used in bsd.port.mk, I've been already
> bitten by WITH_MYSQL_VER once. I don't believe the MySQL stuff in
> bsd.port.mk makes a pretty good example that should be followed...

Thinking about it, I think you're right about this. I'll consider makeing 
some modifications...

/Palle
Comment 6 Palle Girgensohn 2004-11-03 01:39:00 UTC
Hi!

I've been sitting on this for some time, polishing it, over the port freeze 
and apparently beyond. This mega patch upgrades to 7.4.6 | 7.3.8 and 
refines the splitting into -client & -server ports. The previous patches 
attached to this PR can be skipped in favour for these new ones.

It also modifies all ports depending on postgresql. With so many ports 
changed, there are bound to be bugs, but most mods are pretty simple, so 
hopfully they won't bite too hard.

Instead of including it all here, I've put it on a web server: 
http://pingpong.net/postgresql-split.tar.bz2

There's a README inside that hopefully explains what to do.

Regards,
Palle
Comment 7 Ade Lovett freebsd_committer freebsd_triage 2004-11-11 23:24:37 UTC
State Changed
From-To: open->closed

Moving to ports/73843 for repocopy, patch, and exp build run.
Comment 8 Palle Girgensohn 2004-11-12 10:24:08 UTC
Hi!

Perhaps we should request a repo copy of postgresql74-server -> 
postgresql80-server at the same time? I have a patch ready this weekend.

/Palle
Comment 9 Palle Girgensohn 2004-11-20 02:51:22 UTC
Hi Ade!

I rerolled the diffs against the repo-copied postgresql-ports, and remade 
the entire tarball. It is in 
http://pingpong.net/postgresql-split-1.1.tar.bz2.

I have tried to handle the PORTREVISIONs properly. By properly, I mean that 
they are bumped if postgresql is not optional. If the user has to add a 
switch "WITH_PGSQL=yes" or similar (often the case, with MySQL as default), 
I let the PORTREVISION be. Dunno if it is the correct procedure, but it is 
what I would expect, I think, at least if I didn't use postgresql... Do I 
need bump PORTREVISION for all ports? They will not really build different, 
just the package dependencies will change.

--On fredag, november 19, 2004 15.15.23 +0100 Palle Girgensohn 
<girgen@pingpong.net> wrote:

> Hi Ade!
>
> Just checked the patchset for the postgresqlNN-server ports, perhaps it
> was not quite as high quality as I thought. I'll fix a new set of
> everything asap tonight, so you don't have to search patches in a bunch
> of emails.
>
> In the mean time, can you please set BROKEN or IGNORE on the repo copied
> ports?
>
> Regards,
> Palle
>
> --On Tuesday, November 16, 2004 21:19:44 -0800 Ade Lovett
> <ade@FreeBSD.org> wrote:
>
>> Hi Palle,
>>
>> Just FYI, my requested repo-copies from
>> postgresql73->postgresql73-server, and postgresql7->postgresql74-server
>> have been complete, and are now in the tree.
>>
>> If you can send me over a now somewhat easier patchset for the remainder,
>> I can push to get this tested and committed.
>>
>> Cheers,
>> 	-aDe
>
>
>