summaryrefslogtreecommitdiffstats
path: root/postgresql.spec
blob: 2b6af2ebcadbfd4cefb45abe4b98e08b7414fe6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
# Do we want to build the postgresql-test package ? (1=yes 0=no)
%define build_testpackage 0

Summary: PostgreSQL client programs and libraries.
Name: postgresql
Version: 7.0.3
Release: 8
License: BSD
Group: Applications/Databases
# originally .gz
Source0: ftp://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.bz2
Source3: postgresql.init-%{version}
Source4: file-lists-pgsql-%{version}.tar.gz
Source5: ftp://ftp.postgresql.org/pub/source/v%{version}/postgresql-%{version}.tar.gz.md5
Source6: README.rpm-dist.postgresql-%{version}
Source7: pg-migration-scripts-%{version}.tar.gz
Source8: logrotate.postgresql-%{version}
Source9: pg_options-%{version}
Source10: http://www.retep.org.uk/postgres/jdbc7.0-1.1.jar
Source11: http://www.retep.org.uk/postgres/jdbc7.0-1.2.jar
Source12: postgresql-dump.1.gz
Source14: rh-pgdump.sh
Source15: pg_dumpall.1
Patch0: postgresql-%{version}-alpha.patch.gz
Patch1: rpm-pgsql-%{version}.patch
Patch2: postgresql-7.0.3-ia64-2.patch
Patch3: postgresql-7.0.3-mkstemp.patch
Patch10: postgresql-7.0.2-s390.patch
Requires: perl
Prereq: /sbin/chkconfig /sbin/ldconfig /usr/sbin/useradd initscripts
BuildPrereq: /lib/cpp
BuildPrereq: python-devel perl tcl tk
Url: http://www.postgresql.org/ 
Obsoletes: postgresql-clients
%if %{build_testpackage}
%else
Obsoletes: postgresql-test
%endif



Buildroot: %{_tmppath}/%{name}-%{version}-root

# This is the PostgreSQL Global Development Group Official RPMset spec file.
# Copyright 2000 Lamar Owen <lamar@postgresql.org> <lamar.owen@wgcr.org>
# and others listed.

# Major Contributors:
# ---------------
# Lamar Owen
# Trond Eivind Glomsrød <teg@redhat.com>
# Thomas Lockhart

# This spec file and ancilliary files are licensed in accordance with 
# The PostgreSQL license.

%description
PostgreSQL is an advanced Object-Relational database management system
(DBMS) that supports almost all SQL constructs (including
transactions, subselects and user-defined types and functions). The
postgresql package includes the client programs and libraries that
you'll need to access a PostgreSQL DBMS server.  These PostgreSQL
client programs are programs that directly manipulate the internal
structure of PostgreSQL databases on a PostgreSQL server. These client
programs can be located on the same machine with the PostgreSQL
server, or may be on a remote machine which accesses a PostgreSQL
server over a network connection. This package contains the client
libraries for C and C++, as well as command-line utilities for
managing PostgreSQL databases on a PostgreSQL server. 

If you want to manipulate a PostgreSQL database on a remote PostgreSQL
server, you need this package. You also need to install this package
if you're installing the postgresql-server package.

%package server
Summary: The programs needed to create and run a PostgreSQL server.
Group: Applications/Databases
Prereq: /usr/sbin/useradd
Requires: postgresql = %{version} , bash >= 2

%description server
The postgresql-server package includes the programs needed to create
and run a PostgreSQL server, which will in turn allow you to create
and maintain PostgreSQL databases.  PostgreSQL is an advanced
Object-Relational database management system (DBMS) that supports
almost all SQL constructs (including transactions, subselects and
user-defined types and functions). You should install
postgresql-server if you want to create and maintain your own
PostgreSQL databases and/or your own PostgreSQL server. You also need
to install the postgresql package.

%package devel
Summary: PostgreSQL development header files and libraries.
Group: Development/Libraries
Requires: postgresql = %{version}

%description devel
The postgresql-devel package contains the header files and libraries
needed to compile C or C++ applications which will directly interact
with a PostgreSQL database management server and the ecpg Embedded C
Postgres preprocessor. You need to install this package if you want to
develop applications which will interact with a PostgreSQL server. If
you're installing postgresql-server, you need to install this
package.

%package tcl
Summary: A Tcl client library, and the PL/Tcl procedural language for PostgreSQL.
Group: Applications/Databases
Requires: tcl >= 8.0, postgresql = %{version}

%description tcl
PostgreSQL is an advanced Object-Relational database management
system.  The postgresql-tcl package contains the libpgtcl client library,
the pg-enhanced pgtclsh, and the PL/Tcl procedural language for the backend.

%package tk
Summary: Tk shell and tk-based GUI for PostgreSQL.
Group: Applications/Databases
Requires: tcl >= 8.0, tk >= 8.0, postgresql = %{version}

%description tk
PostgreSQL is an advanced Object-Relational database management
system.  The postgresql-tk package contains the pgaccess
program. Pgaccess is a graphical front end, written in Tcl/Tk, for the
psql and related PostgreSQL client programs.

%package odbc
Summary: The ODBC driver needed for accessing a PostgreSQL DB using ODBC.
Group: Applications/Databases
Requires: postgresql = %{version}

%description odbc
PostgreSQL is an advanced Object-Relational database management
system. The postgresql-odbc package includes the ODBC (Open DataBase
Connectivity) driver and sample configuration files needed for
applications to access a PostgreSQL database using ODBC.

%package perl
Summary: Development module needed for Perl code to access a PostgreSQL DB.
Group: Applications/Databases
Requires: perl >= 5.004-4, postgresql = %{version}

%description perl
PostgreSQL is an advanced Object-Relational database management
system. The postgresql-perl package includes a module for developers
to use when writing Perl code for accessing a PostgreSQL database.

%package python
Summary: Development module for Python code to access a PostgreSQL DB.
Group: Applications/Databases
Requires: python >= 1.5, postgresql = %{version}

%description python
PostgreSQL is an advanced Object-Relational database management
system.  The postgresql-python package includes a module for
developers to use when writing Python code for accessing a PostgreSQL
database.

%package jdbc
Summary: Files needed for Java programs to access a PostgreSQL database.
Group: Applications/Databases
Requires: postgresql = %{version}

%description jdbc
PostgreSQL is an advanced Object-Relational database management
system. The postgresql-jdbc package includes the .jar file needed for
Java programs to access a PostgreSQL database.

%if %{build_testpackage}
%package test
Summary: The test suite distributed with PostgreSQL.
Group: Applications/Databases
Requires: postgresql = %{version}

%description test
PostgreSQL is an advanced Object-Relational database management
system. The postgresql-test package includes the sources and pre-built
binaries of various tests for the PostgreSQL database management
system, including regression tests and benchmarks.
%endif

%prep
%setup -q 

# The alpha patches are not trivial, so wrap in ifarch-endif block
#
%ifarch alpha
%patch0 -p1
%endif

%patch1 -p1

%ifarch ia64
%patch2 -p1
%endif

%patch3 -p1

%ifarch s390
%patch10 -p1 -b .s390
%endif

# Seems to work just fine

%ifarch ia64
ln -s linux_i386 src/template/linux
%endif

%build

# Get file lists....
tar xzf %{SOURCE4}

pushd src

# If libtool installed, copy some files....
if [ -d /usr/share/libtool ]
then
	cp /usr/share/libtool/config.* .
fi

CFLAGS="$RPM_OPT_FLAGS"

./configure --enable-hba --enable-locale  --prefix=/usr\
	--with-perl --enable-multibyte \
	--with-tcl --with-tk --with-x \
	--with-odbc --with-java --enable-syslog\
%ifarch alpha
	--with-template=linux_alpha \
%endif
	--with-python 

make COPT="$RPM_OPT_FLAGS" all

pushd interfaces/python
cp /usr/lib/python1.5/config/Makefile.pre.in .
echo *shared* > Setup
echo _pg pgmodule.c -I../../include -I../libpq -L../libpq -lpq -lcrypt >> Setup
make -f Makefile.pre.in boot
make
popd
popd

make all PGDOCS=unpacked -C doc

pushd src/test
make all
popd

%install
eval `perl '-V:installarchlib'` 
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/{include/pgsql,lib,bin}
mkdir -p $RPM_BUILD_ROOT%{_mandir}
mkdir -p $RPM_BUILD_ROOT/$installarchlib
make POSTGRESDIR=$RPM_BUILD_ROOT/usr PREFIX=$RPM_BUILD_ROOT/usr -C src install
make POSTGRESDIR=$RPM_BUILD_ROOT/usr PREFIX=$RPM_BUILD_ROOT/usr -C src/interfaces/perl5 install

# Get rid of the packing list generated by the perl Makefile, and build my own...
find $RPM_BUILD_ROOT/usr/lib/perl5 -name .packlist -exec rm -f {} \;
find $RPM_BUILD_ROOT/usr/lib/perl5 -type f -print | \
	sed -e "s|$RPM_BUILD_ROOT/|/|g"  | \
	sed -e "s|.*/man/.*|&\*|" | grep -v  -E "(Pg.bs|perllocal.pod)" > perlfiles.list
find $RPM_BUILD_ROOT/usr/lib/perl5 -type d -name Pg -print | \
	sed -e "s|$RPM_BUILD_ROOT/|%dir /|g" >> perlfiles.list


# check and fixup Pg manpage location....
if [ ! -e $RPM_BUILD_ROOT%{_mandir}/man3/Pg.* ]
then
	mkdir -p $RPM_BUILD_ROOT%{_mandir}/man3
	cp `find $RPM_BUILD_ROOT -name 'Pg.3*' -print` $RPM_BUILD_ROOT%{_mandir}/man3
fi

make -C doc

# man pages....
pushd $RPM_BUILD_ROOT%{_mandir}
tar xzf $RPM_BUILD_DIR/postgresql-%{version}/doc/man.tar.gz
install -m 644 %SOURCE15 $RPM_BUILD_ROOT/%{_mandir}/man1

# the postgresql-dump manpage.....
cp %{SOURCE12} man1
popd

# install the dump script

install -m755 %SOURCE14 $RPM_BUILD_ROOT/usr/bin/

# Move all includes beneath /usr/include/pgsql.
pushd $RPM_BUILD_ROOT/usr/include
rm -rf pgsql/*
for f in *.h access commands executor iodbc lib libpq libpq++ port utils ; do
     mv $f pgsql
done
popd

# copy over the includes needed for SPI development.
pushd src/include
/lib/cpp -M -I. -I../backend executor/spi.h |xargs -n 1|grep \\W|grep -v ^/|grep -v spi.o |grep -v spi.h | sort |cpio -pdu $RPM_BUILD_ROOT/usr/include/pgsql
# thank you, cpio....

#fixup directory permissions for SPI stuff...
pushd $RPM_BUILD_ROOT/usr/include/pgsql
chmod 755 access catalog executor lib nodes parser rewrite storage tcop utils
popd

popd

# Move all templates/examples beneath /usr/lib/pgsql
pushd $RPM_BUILD_ROOT/usr/lib
  mkdir -p pgsql
  mv *.source *.sample *.description pgsql
popd

# Get interface-specific tests and examples, and stuff under /usr/lib/pgsql
pushd src/interfaces
mkdir -p $RPM_BUILD_ROOT/usr/lib/pgsql/perl5
cp -a perl5/test.pl perl5/eg $RPM_BUILD_ROOT/usr/lib/pgsql/perl5
popd

# Get example odbcinst.ini and put in /usr/lib/pgsql
mv $RPM_BUILD_ROOT/usr/odbcinst.ini $RPM_BUILD_ROOT/usr/lib/pgsql

# pgaccess installation
pushd src/bin
install -m 755 pgaccess/pgaccess $RPM_BUILD_ROOT/usr/bin
mkdir -p $RPM_BUILD_ROOT/usr/lib/pgsql/pgaccess
install -m 644 pgaccess/main.tcl $RPM_BUILD_ROOT/usr/lib/pgsql/pgaccess
tar cf - pgaccess/lib pgaccess/images | tar xf - -C $RPM_BUILD_ROOT/usr/lib/pgsql
cp -a pgaccess/doc/html   ../../doc/pgaccess
cp    pgaccess/demo/*.sql ../../doc/pgaccess
popd

# Python
pushd src/interfaces/python
# Makefile.pre.in doesn't yet support .py files anyway, so we stick to a manual installation
  mkdir -p $RPM_BUILD_ROOT/usr/lib/python1.5/site-packages
  install -m 755 _pgmodule.so *.py $RPM_BUILD_ROOT/usr/lib/python1.5/site-packages/
popd

# Java/JDBC
# The user will have to set a CLASSPATH to find it here, but not sure where else to put it...
# Install 7.0 JDBC jars -- no longer include the 6.5 versions
install -m 755 %{SOURCE10} $RPM_BUILD_ROOT/usr/lib/pgsql
install -m 755 %{SOURCE11} $RPM_BUILD_ROOT/usr/lib/pgsql

# Fixup more permissions...
chmod 644 $RPM_BUILD_ROOT%{_mandir}/*/*
chmod +x $RPM_BUILD_ROOT/usr/lib/lib*.so.*

# The initscripts....
# Redhat-style....
if [ -d /etc/rc.d/init.d ]
then
	install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
	install -m 755 %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/postgresql
	mv redhat-style-files.lst files.lst
fi

# SuSE-style....
# NOTE: SuSE stuff not yet fully implemented -- this is likely to not work yet.
# Putting SuSE-style stuff here
if [ -d /sbin/init.d ]
then
	# install the SuSE stuff...
	mv suse-style-files.lst files.lst
fi


# Move the PL's to the right place
mv $RPM_BUILD_ROOT/usr/lib/pl*.so $RPM_BUILD_ROOT/usr/lib/pgsql

# PGDATA needs removal of group and world permissions due to pg_pwd hole.
install -d -m 700 $RPM_BUILD_ROOT/var/lib/pgsql/data

# Initial pg_options
install -m 700 %{SOURCE9} $RPM_BUILD_ROOT/var/lib/pgsql/data/pg_options

# backups of data go here...
install -d -m 700 $RPM_BUILD_ROOT/var/lib/pgsql/backups

# tests. There are many files included here that are unnecessary, but include
# them anyway for completeness.
mkdir -p $RPM_BUILD_ROOT/usr/lib/pgsql/test
cp -a src/test/regress $RPM_BUILD_ROOT/usr/lib/pgsql/test
install -m 0755 src/config.guess $RPM_BUILD_ROOT/usr/lib/pgsql
install -m 0755 contrib/spi/refint.so $RPM_BUILD_ROOT/usr/lib/pgsql/test/regress
install -m 0755 contrib/spi/autoinc.so $RPM_BUILD_ROOT/usr/lib/pgsql/test/regress

# Upgrade scripts.
pushd $RPM_BUILD_ROOT
tar xzf %{SOURCE7}
popd

#logrotate script source (which needs WORK)
mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
cp %{SOURCE8} $RPM_BUILD_ROOT/etc/logrotate.d/postgres
chmod 0644 $RPM_BUILD_ROOT/etc/logrotate.d/postgres


# Fix some more documentation
# no need for the OS2 client
rm -rf contrib/os2client
gzip doc/internals.ps
cp %{SOURCE6} README.rpm-dist

# remove the binaries from contrib

rm -f `find contrib -name "*.so"`
rm -f contrib/spi/preprocessor/step1.e

# Fix a dangling symlink
mkdir -p $RPM_BUILD_ROOT/usr/include/pgsql/port
cp src/include/port/linux.h $RPM_BUILD_ROOT/usr/include/pgsql/port/
ln -sf port/linux.h $RPM_BUILD_ROOT/usr/include/pgsql/os.h

# Symlink libpq.so.2.0 to libpq.so.2.1 for backwards compatibility, until 
# -soname patches are the norm.
pushd $RPM_BUILD_ROOT/usr/lib
ln -s libpq.so.2.1 libpq.so.2.0
popd


%pre
# Need to make backups of some executables if an upgrade
# They will be needed to do a dump of the old version's database.
# All output redirected to /dev/null.

if [ $1 -gt 1 ]
then
   mkdir -p /usr/lib/pgsql/backup > /dev/null
   pushd /usr/bin > /dev/null
   cp -fp postmaster postgres pg_dump pg_dumpall psql /usr/lib/pgsql/backup > /dev/null 2>&1  || :
   popd > /dev/null
   pushd /usr/lib > /dev/null
   cp -fp libpq.* /usr/lib/pgsql/backup > /dev/null 2>&1 || :
   popd > /dev/null
fi

%post -p /sbin/ldconfig 
%postun -p /sbin/ldconfig 

%pre server
groupadd -g 26 postgres >/dev/null 2>&1 || :
useradd -M -n -g postgres -o -r -d /var/lib/pgsql -s /bin/bash \
	-c "PostgreSQL Server" -u 26 postgres >/dev/null 2>&1 || :

%post  server
/sbin/ldconfig
echo PGLIB=/usr/lib/pgsql >> ~postgres/.bash_profile
echo PGDATA=/var/lib/pgsql/data >> ~postgres/.bash_profile
echo export PGLIB PGDATA >> ~postgres/.bash_profile
/sbin/chkconfig --add postgresql

%preun server
if [ $1 = 0 ] ; then
	chkconfig --del postgresql
fi

%postun server
/sbin/ldconfig 
if [ $1 -ge 1 ]; then
  /sbin/service postgresql condrestart >/dev/null 2>&1
fi
if [ $1 = 0 ] ; then
	userdel postgres >/dev/null 2>&1 || :
	groupdel postgres >/dev/null 2>&1 || : 
fi

%post -p /sbin/ldconfig  odbc
%postun -p /sbin/ldconfig  odbc

%post -p /sbin/ldconfig   tcl
%postun -p /sbin/ldconfig   tcl

%if %{build_testpackage}
%post test
chown -R postgres.postgres /usr/lib/pgsql/test >/dev/null 2>&1 || :
%endif

%clean
rm -rf $RPM_BUILD_ROOT
rm -f perlfiles.list

# Ok, we are dynamically generating some filelists.  These are by default
# under the BUILD/postgresql-x.y.z tree.

# Note that macros such as config are available in those lists.
# The lists differentiate between RedHat, SuSE, and others.

%files
%defattr(-,root,root)
%doc doc/FAQ doc/FAQ_Linux doc/README* 
%doc COPYRIGHT README HISTORY doc/bug.template doc/FAQ_Linux
%doc contrib doc/unpacked/* 
%doc README.rpm-dist
/usr/lib/libpq.so*
/usr/lib/libecpg.so*
/usr/lib/libpq++.so*
/usr/lib/libpgeasy.so*
/usr/bin/createdb
/usr/bin/createlang
/usr/bin/createuser
/usr/bin/dropdb
/usr/bin/droplang
/usr/bin/dropuser
/usr/bin/pg_dump
/usr/bin/pg_dumpall
/usr/bin/pg_id
/usr/bin/psql
/usr/bin/vacuumdb
%{_mandir}/man1/createdb.1*
%{_mandir}/man1/createlang.1*
%{_mandir}/man1/createuser.1*
%{_mandir}/man1/dropdb.1*
%{_mandir}/man1/droplang.1*
%{_mandir}/man1/dropuser.1*
%{_mandir}/man1/pg_dump.1*
%{_mandir}/man1/pg_dumpall.1*
%{_mandir}/man1/psql.1*
%{_mandir}/manl/*

%files server -f files.lst
%defattr(-,root,root)
/usr/bin/initdb
/usr/bin/initlocation
/usr/bin/ipcclean
/usr/bin/pg_ctl
/usr/bin/pg_encoding
/usr/bin/pg_passwd
/usr/bin/pg_upgrade
/usr/bin/pg_version
/usr/bin/postgres
/usr/bin/postgresql-dump
/usr/bin/postmaster
/usr/bin/rh-pgdump.sh
%{_mandir}/man1/initdb.1*
%{_mandir}/man1/initlocation.1*
%{_mandir}/man1/ipcclean.1*
%{_mandir}/man1/pg_ctl.1*
%{_mandir}/man1/pgadmin.1*
%{_mandir}/man1/pg_passwd.1*
%{_mandir}/man1/postgres.1*
%{_mandir}/man1/postmaster.1*
%{_mandir}/man1/pg_upgrade.1*
%{_mandir}/man1/vacuumdb.1*
%{_mandir}/man1/postgresql-dump.1*
/usr/lib/pgsql/global1.bki.source
/usr/lib/pgsql/global1.description
/usr/lib/pgsql/local1_template1.bki.source
/usr/lib/pgsql/local1_template1.description
/usr/lib/pgsql/*.sample
/usr/lib/pgsql/plpgsql.so
%attr(700,postgres,postgres) %dir /usr/lib/pgsql/backup
/usr/lib/pgsql/backup/pg_dumpall_new
%attr(700,postgres,postgres) %dir /var/lib/pgsql/data
%attr(700,postgres,postgres) /var/lib/pgsql/data/pg_options
%attr(700,postgres,postgres) %dir /var/lib/pgsql/backups

%files devel
%defattr(-,root,root)
/usr/include/pgsql
/usr/bin/ecpg
/usr/lib/lib*.a
%{_mandir}/man1/ecpg.1*

%files tcl
%defattr(-,root,root)
%attr(755,root,root) /usr/lib/libpgtcl.so*
/usr/bin/pgtclsh
%{_mandir}/man1/pgtclsh.1*
/usr/lib/pgsql/pltcl.so

%files tk
%defattr(-,root,root)
%doc doc/pgaccess/*
/usr/lib/pgsql/pgaccess
/usr/bin/pgaccess
/usr/bin/pgtksh
%{_mandir}/man1/pgaccess.1*
%{_mandir}/man1/pgtksh.1*

%files odbc
%defattr(-,root,root)
%attr(755,root,root) /usr/lib/libpsqlodbc.so*
/usr/lib/pgsql/odbcinst.ini

%files -f perlfiles.list perl
%defattr (-,root,root)
/usr/lib/pgsql/perl5
%{_mandir}/man3/Pg.*

%files python
%defattr(-,root,root)
%doc src/interfaces/python/README src/interfaces/python/tutorial
/usr/lib/python1.5/site-packages/_pgmodule.so
/usr/lib/python1.5/site-packages/*.py

%files jdbc
%defattr(-,root,root)
/usr/lib/pgsql/jdbc7.0-1.1.jar
/usr/lib/pgsql/jdbc7.0-1.2.jar

%if %{build_testpackage}
%files test
%defattr(-,postgres,postgres)
%attr(755,postgres,postgres)/usr/lib/pgsql/config.guess
%attr(-,postgres,postgres)/usr/lib/pgsql/test/regress/*
%endif

# Conventions for PostgreSQL RPM releases:
# Pre-releases are those that are built from CVS snapshots or pre-release
# tarballs from postgresql.org.  Pre-releases should have a fractional release
# number to show their pre-release status.  Official beta releases are not 
# considered pre-releases, nor are release candidates, as their beta or
# release candidate status is reflected in the version of the tarball. Pre-
# releases' versions do not change -- the pre-release tarball of 7.0.3, for
# example, has the same tarball version as the final official release of 7.0.3:
# but the tarball is different.

# Pre-release RPM's should not be put up on the public ftp.postgresql.org server
# -- only full integer releases should be.

# Start changelog proper below this comment


%changelog
* Thu Mar 22 2001 Trond Eivind Glomsrød <teg@redhat.com>
- obsolete postgresql-test when not building it (#32640)
- make /lib/cpp a buildprereq, not a standard prereq
- remove the /var/log/postgresql and /etc/logrotate.d
  files - I don't see a way to enable it currently...
  (#31165). The logrotate file is still included in the SRPM,
  so make it easier to add logging later.
- remove mentions of "-u" from pg_dumpall, as it doesn't seem
  to work 


* Tue Jan 23 2001 Trond Eivind Glomsrød <teg@redhat.com>
- improve gettextization

* Wed Jan 17 2001 Trond Eivind Glomsrød <teg@redhat.com>
- gettextize
- turn off by default

* Fri Jan 12 2001 Trond Eivind Glomsrød <teg@redhat.com>
- use mkstemp for creating the file used by \e in the psql
  client (problem from #23695, patch made from scratch)
- increase sleep interval in init script (#23870)
- don't include JDBC jars for 6.5 anymore
- add a conditional for building test subpackage
- misc cleanups

* Thu Jan 11 2001 Trond Eivind Glomsrød <teg@redhat.com>
- add tk as a buildprereq (#23693)

* Mon Jan 01 2001 Trond Eivind Glomsrød <teg@redhat.com>
- bzip sources
- remove test package

* Mon Dec 11 2000 Oliver Paukstadt <oliver.paukstadt@millenux.com>
- ported to s390

* Fri Dec 01 2000 Trond Eivind Glomsrød <teg@redhat.com>
- changes to the logrotate script 
- fix spelling error in postgresql-tcl description

* Tue Nov 14 2000 Trond Eivind Glomsrød <teg@redhat.com>
- made a template for IA64 (symlink to i386)

* Mon Nov 13 2000 Trond Eivind Glomsrød <teg@redhat.com>
- add patch for IA64 (I got one from Lamar and modified it)

* Mon Nov 13 2000 Lamar Owen <lamar@postgresql.org>
- RELEASE: 7.0.3-1
- Minor edits to initscript.
- PRE-RELEASE: 7.0.3-0.6 (final test)
- Final 7.0.3 tarball.
- Cross-dist changes to RedHat initscript for better portability.
- changed README.rpm name to README.rpm-dist (the .rpm extension confused
--some GUI file managers, as RealPlayer also uses that extension).
- Edited README.rpm-dist to reflect cross-distribution packaging.
- NOTE: SuSE cross-compatibility is not yet complete  SuSE RPM's for 7.0.3
--that are tailored for SuSE will be made available.
- Fixed stupid dependency -- the main .so's were in the devel package (Arggh)

* Sat Nov 11 2000 Lamar Owen <lamar@postgresql.org>
- PRE-RELEASE: 7.0.3-0.5
- Framework for better distribution-independent build
- Conditional around libtool conf stuff copy (For RedHat 6.1 and such).
- Conditional around RedHat-style initscript stuff.
- Comments at top of spec file now list copyright and license for spec file,
--as the license and copyright for the spec file itself has not previously
--been stated.
- Envvars for postgres home dir login in .bash_profile.
- initscript now checks for success and failure functions using:
--typeset -f|grep "declare -f function_name" construct.

* Fri Nov 10 2000 Lamar Owen <lamar@postgresql.org>
- PRE-RELEASE: 7.0.3-0.4
- Directory ownership on /usr/lib/pgsql/test/regress was root.root.
- Patch Makefile.shlib to not use -soname for RPM's.
- Newer prerelease 7.0.3 tarball.

* Thu Nov 09 2000 Lamar Owen <lamar@postgresql.org>
- PRE-RELEASE: 7.0.3-0.3
- Don't bother copying the test stuff I'm not packaging.
- Fix group add/del stuff in server subpackage post and postun scriptlets.
- symlink /usr/lib/libpq.so.2.0 -> libpq.so.2.1

* Mon Nov 06 2000 Lamar Owen <lamar@postgresql.org>
- PRE-RELEASE: 7.0.3-0.2
- preliminary 7.0.3 distribution tarball -- reinstated man pages, etc.

* Sat Nov 04 2000 Lamar Owen <lamar@postgresql.org>
- PRE-RELEASE: 7.0.3-0.1.
- Improved test subpackage -- only package regression.
- Latest pre-7.0.3 snapshot.
- Split out SuSE and Caldera spec files.  Caldera COL eServer 2.3 requires
-- RPM 2.5.5-compatible spec files.  SuSE is just too different from the others
-- for the spec file to cope, for now.
- TODO: man pages and documentation.

* Mon Oct 30 2000 Lamar Owen <lamar@postgresql.org>
- pre-7.0.3

* Mon Oct 30 2000 Lamar Owen <lamar@postgresql.org>
- Reenabled the test subpackage for ftp.postgresql.org dist.
- Backported to RH 6.2 -- involved the Pg man page, doesn't appear to require
-- other stuff to be done.


* Sun Oct 22 2000 Trond Eivind Glomsrød <teg@redhat.com>
- make /etc/logrotate.d/postgres 0644 instead of 0700 (#19520)


* Thu Oct 19 2000 Trond Eivind Glomsrød <teg@redhat.com>
- rebuild with new glibc which has semaphore fixes for Alpha 

* Tue Sep 05 2000 Trond Eivind Glomsrød <teg@redhat.com>
- add documention for python interface (#17261)
- move the python interface tutorial to the %%doc section

* Thu Aug 24 2000 Trond Eivind Glomsrød <teg@redhat.com>
- the old dump script didn't work - added rh-pgdump.sh
  to handle this. Point docs at it, and tell how it is to be used. 

* Mon Aug 21 2000 Trond Eivind Glomsrød <teg@redhat.com>
- fix the initscript so it points you at the 7.0.2 directory
  in /usr/share/doc, not 7.0  (#16163). Also, remove statement
  it was built on a 6.2 system.
- prereq /lib/cpp and initscripts
- fix backups of existing files (#16706)
- fix conditional restart

* Sat Aug 19 2000 Trond Eivind Glomsrød <teg@redhat.com>
- fix README.rpm to it points at /usr/share/doc, not /usr/doc 
  (part of #16416)

* Wed Aug 16 2000 Trond Eivind Glomsrød <teg@redhat.com>
- don't build test package anymore, it's broken. These
  tests should be run by pgsql developers and not
  by db-developers, so it's not a big loss (#16165).
  Obsolete it in the main package, so it doesn't get left over

* Mon Aug 14 2000 Trond Eivind Glomsrød <teg@redhat.com>
- reference docs in /usr/share/doc, not /usr/doc (#16163)
- add python-devel, perl and tcl as build prereqs
- use /dev/null as STDIN for su commands in initscripts,
  to avoid error messages from not being able to read from 
  tty

* Sat Aug 05 2000 Bill Nottingham <notting@redhat.com>
- condrestart fixes

* Mon Jul 31 2000 Trond Eivind Glomsrød <teg@redhat.com>
- remove all plperl references, to avoid confusing post install scripts
- cleanups

* Mon Jul 17 2000 Trond Eivind Glomsrød <teg@redhat.com>
- remove the symlink from libpq.so.2.0 to libpq.so.2.1
- remove some binaries from docs
- fix dangling symlink os.h
- use /sbin/service

* Thu Jul 13 2000 Trond Eivind Glomsrød <teg@redhat.com>
- don't strip manually
- fixes to init script so they look more like the rest 
  (#13749, from giulioo@pobox.com)
- use /etc/rc.d/init.d again (sigh)

* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
- automatic rebuild

* Thu Jul 06 2000 Trond Eivind Glomsrød <teg@redhat.com>
- "Prereq:", not "Requires:" for /etc/init.d

* Thu Jul 06 2000 Trond Eivind Glomsrød <teg@redhat.com>
- require /etc/init.d

* Wed Jun 21 2000 Trond Eivind Glomsrød <teg@redhat.com>
- remove perl kludge as perl 5.6 is now fixed
- include the man page for the perl module
- fix the init script and spec file to handle conditional
  restart
- move the init file to /etc/init.d
- use License instead of Copyright

* Mon Jun 19 2000 Trond Eivind Glomsrød <teg@redhat.com>
- rebuild

* Tue Jun 13 2000 Trond Eivind Glomsrød <teg@redhat.com>
- use %%defattr on postgresql-perl
- use %%{_tmppath}
- Don't use release number in patch 
- Don't build on ia64 yet

* Mon Jun 12 2000 Lamar Owen <lamar.owen@wgcr.org>
- 7.0.2-2
- Corrected misreporting of version.
- Corrected for non-root build clean script.

* Mon Jun 05 2000 Lamar Owen <lamar.owen@wgcr.org>
- 7.0.2 
- Postgresql-dump manpage to man1, and to separate source file to facilitate
-- _mandir macro expansion correctness.
- NOTE: The PostScript documentation is no longer being included in the
-- PostgreSQL tarball.  If demand is such, I will pull together a
-- postgresql-ps-docs subpackage or pull in the PostScript docs into the
-- main package.
- RPM patchset has release number, now, to prevent patchfile confusion :-(.


* Sat Jun 03 2000 Lamar Owen <lamar.owen@wgcr.org>
- Incorporate most of Trond's changes (reenabled the alpha
-- patches, as it was a packaging error on my part).
- Trimmed changelog history to Version 7.0beta1 on. To see the
-- previous changelog, grab the 6.5.3 RPM from RedHat 6.2 and pull the spec.
- Rev to 7.0.1 (which incorporates the syslog patch, which has
-- been removed from rpm-pgsql-7.0.1-1.patch)

* Fri May 26 2000 Trond Eivind Glomsrød <teg@redhat.com>
- disable the alpha patch, as it doesn't apply cleanly
- removed distribution, packager, vendor
- renamed spec file
- don't build pl-perl
- use %%{_mandir}
- now includes vacuumdb.1*

* Thu May 25 2000 Lamar Owen <lamar.owen@wgcr.org>
- 7.0-3
- Incorporated Tatsuo's syslog segmentation patches
- Incorporated some of Trond's changes (see below)
-- Fixed some Perl 5.6 oddness in Rawhide
- Incorporated some of Karl's changes (see below)
-- PL/Perl should now work.
- Fixed missing /usr/bin/pg_passwd.

* Mon May 22 2000 Karl DeBisschop <kdebisschop@infoplease.com>
- 7.0-2.1
- make plperl module (works for linux i386, your guess for other platforms)
- use "make COPT=" because postgreSQL configusre script ignores CFLAGS

* Sat May 20 2000 Lamar Owen <lamar.owen@wgcr.org>
- 7.0-2
- pg_options default values changed.
- SPI headers (again!) fixed in a permanent manner  -- hopefully!
- Alpha patches!

* Wed May 17 2000 Trond Eivind Glomsrød <teg@redhat.com>
- changed bug in including man pages

* Tue May 16 2000 Trond Eivind Glomsrød <teg@redhat.com>
- changed buildroot, removed packager, vendor, distribution
-- [Left all but buildroot as-is for PostgreSQL.org RPMS. LRO]
- don't strip in package [strip in PostgreSQL.org RPMS]
- fix perl weirdnesses (man page in bad location, remove 
  perllocal.pod from file list)

* Mon May 15 2000 Lamar Owen <lamar.owen@wgcr.org>
- 7.0 final -1
- Man pages restructured
- Changed README.rpm notices about BETA
- incorporated minor changes from testing
- still no 7.0 final alpha patches -- for -2 or -3, I guess.
- 7.0 JDBC jars!

* Sat May 06 2000 Lamar Owen <lamar.owen@wgcr.org>
- 7.0RC5-0.5
- UserID of 26 to conform to RedHat Standard, instead of 40.  This only
-- is for new installs -- upgrades will use what was already there.
- Waiting on built jar's of JDBC.  If none are forthcoming by release,
-- I'm going to have to bite the bullet and install the jdk....

* Mon May 01 2000 Lamar Owen <lamar.owen@wgcr.org>
- 7.0RC2-0.5
- Fixed /usr/src/redhat/BUILD path to $RPM_BUILD_DIR for portability
-- and so that RPM's can be built by non-root.
- Minor update to README.rpm

* Tue Apr 18 2000 Lamar Owen <lamar.owen@wgcr.org>
- 0.6
- Fixed patchset: wasn't patching pgaccess or -i in postmaster.opts.default
- minor update to README.rpm

* Mon Apr 17 2000 Lamar Owen <lamar.owen@wgcr.org>
- 7.0RC1-0.5 (release candidate 1.)
- Fixed SPI header directories' permisssions.
- Removed packaging of Alpha patches until Ryan releases RC1-tested set.

* Mon Apr 10 2000 Lamar Owen <lamar.owen@wgcr.org>
- 7.0beta5-0.1 (released instead of the release candidate)

* Sat Apr 08 2000 Lamar Owen <lamar.owen@wgcr.org>
- 7.0beta4-0.2 (pre-release-candidate CVS checkout)
- Alpha patches!
- pg_options.sample

* Fri Mar 24 2000 Lamar Owen <lamar.owen@wgcr.org>
- 7.0beta3-0.1

* Mon Feb 28 2000 Lamar Owen <lamar.owen@wgcr.org>
- Release 0.3
- Fixed stderr redir problem in init script
- Init script now uses pg_ctl to start postmaster
- Packaged inital pg_options for good logging
- built with timestamped logging.

* Tue Feb 22 2000 Lamar Owen <lamar.owen@wgcr.org>
- Initial 7.0beta1 build
- Moved PGDATA to /var/lib/pgsql/data
- First stab at logging and logrotate functionality -- test carefully!
- -tcl subpackage split -- tcl client and pltcl lang separated from
-- the Tk stuff.  PgAccess and the tk client are now in the -tk subpackage.
- No patches for Alpha as yet.