Operating System - HP-UX
1753599 Members
6448 Online
108796 Solutions
New Discussion юеВ

Patching iexpress postgresql on itanium 11.23

 
SOLVED
Go to solution
Ed Loehr
Advisor

Patching iexpress postgresql on itanium 11.23

I'm installing slony, a replication engine, on an ia64 box running 11.23 with iexpress postgresql 7.3.4. Slony requires the source build tree be there, fully made. The README.hp has a series of diffs at the bottom which one can apply to the 7.3.4 source to get it to build.

Q: How do you apply a patch created with "diff -Nur"? patch doesn't seem to recognize it...

$ head patchfile
diff -Nur postgresql-7.3.4-orig/configure postgresql-7.3.4/configure
--- postgresql-7.3.4-orig/configure 2003-07-22 21:09:40.000000000 -0700
+++ postgresql-7.3.4/configure 2003-10-13 16:46:10.000000000 -0700
@@ -1451,7 +1451,6 @@
# assembler code in src/include/storage/s_lock.h, so we just use
...

$ patch < patchfile
Hmm... I can't seem to find a patch in there anywhere.

Ed
3 REPLIES 3
Ermin Borovac
Honored Contributor
Solution

Re: Patching iexpress postgresql on itanium 11.23

Your patch file seems to be in unified diff format (created with diff -u), and HP-UX patch command doesn't understand unified diffs.

GNU patch utility handles unified diffs so if you install it you should be able to apply your patch.
Ermin Borovac
Honored Contributor

Re: Patching iexpress postgresql on itanium 11.23

Forgot to mention that you can download GNU patch depot for 11.23 at

http://hpux.cs.utah.edu/ftp/hpux/Sysadmin/patch-2.5.4/patch-2.5.4-sd-11.23.depot.gz
Ed Loehr
Advisor

Re: Patching iexpress postgresql on itanium 11.23


Thanks for that tip. Gnu patch 2.5.4 works, but HP's iexpress patch notes appear bogus for PostgreSQL 7.3.4. For example, here's the first patch:

diff -Nur postgresql-7.3.4-orig/configure postgresql-7.3.4/configure
--- postgresql-7.3.4-orig/configure 2003-07-22 21:09:40.000000000 -0700
+++ postgresql-7.3.4/configure 2003-10-13 16:46:10.000000000 -0700
@@ -1451,7 +1451,6 @@
# assembler code in src/include/storage/s_lock.h, so we just use
# a dummy file here.
case $host in
- *-*-hpux*) need_tas=yes; tas_file=hpux.s ;;
sparc-*-solaris*) need_tas=yes; tas_file=solaris_sparc.s ;;
i?86-*-solaris*) need_tas=yes; tas_file=solaris_i386.s ;;
*) need_tas=no; tas_file=dummy.s ;;


But here's 7.3.4's original file for that line range:

$cat -n postgresql-7.3.4/configure | head -1460 | tail -12
1449 echo "$as_me: error: '$withval' is not a valid template name. Use 'list' for a list." >&2;}
1450 { (exit 1); exit 1; }; }
1451 fi;;
1452 esac
1453
1454 ;;
1455 esac
1456
1457 else
1458
1459 # --with-template not given
1460

The lines they suggest patching are later in the file, suggesting the patch diff comes from something other than 7.3.4 original source:

$cat -n postgresql-7.3.4/configure | head -1532 | tail -7
1526 # assembler code in src/include/storage/s_lock.h, so we just use
1527 # a dummy file here.
1528 case $host in
1529 ## *-*-hpux*) need_tas=yes; tas_file=hpux.s ;;
1530 sparc-*-solaris*) need_tas=yes; tas_file=solaris_sparc.s ;;
1531 i?86-*-solaris*) need_tas=yes; tas_file=solaris_i386.s ;;
1532 *) need_tas=no; tas_file=dummy.s ;;


Hand-editing to patch results in failed build as well.

Seems like HP engineers creating an HP-specific patch file ought to make it compatible with HP's patch utility... :(

Ed