The slony1 Project FC3 rpm build fun - Mailing list pgsql-novice

From Ted Kaczmarek
Subject The slony1 Project FC3 rpm build fun
Date
Msg-id 1101870508.6083.31.camel@inyoureyes.linsolutions.com
Whole thread Raw
List pgsql-novice
After much fun, I was able to build slony1 on an FC3 box. Still haven't
tried it, not so much concerned with it working as I am in the present
build process.

I am not an rpm maintainer, so know that up front. Just looking for
feedback and am willing to put some time in to find a better way as this
is presently a PITA.

This is crossed between rpm and postgres-novice list for now, apologies
in advance but I needed to take a clobber approach. Will provide all
feedback back to the slony1 maintainers.

1) It requires a built source tree, shouldn't the postgresq-devel rpm be
enough? I cheated and just did a configure and make from tar ball from
redhat fc3 src rpms minus the patches.

2) Rpm dependencies
[root@inyoureyes tmp]# rpm -ivh postgresql-slony1-1.0.5-ted.1.i386.rpm
error: Failed dependencies:
        perl(slon-tools) is needed by postgresql-slony1-1.0.5-ted.1.i386
        perl(slon.env) is needed by postgresql-slony1-1.0.5-ted.1.i386

 These are found in slony1-1.0.5/tools/altperl, but not made as part of
the install. Also should get these up on cpan as well, for now I have
just copied the modules to /usr/lib/perl5/site_perl/5.8.5/i386-linux-
thread-multi/ on my FC3 box.


Spec file I used, got a source rpm link in #slony.

# The PostgreSQL version provided by Fedora Core base
%define pgver 7.4.6
# Slony-I needs the source and build tree of the PostgreSQL version
%define pgbld /usr/src/redhat/BUILD/postgresql-%{pgver}/

Summary: A "master to multiple slaves" replication system with cascading
and failover.
Name: postgresql-slony1
Version: 1.0.5
Release: ted.1
License: Berkeley/BSD
Group: Applications/Databases
URL: http://slony.info/
Source0: slony1-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildRequires: postgresql-devel = %{pgver}
Requires: postgresql = %{pgver}
Packager: Ted Kaczmarek <tedkaz@optonline.net>

%description
Slony-I will be a "master to multiple slaves" replication
system with cascading and failover.

The big picture for the development of Slony-I is to build
a master-slave system that includes all features and
capabilities needed to replicate large databases to a
reasonably limited number of slave systems.

Slony-I is planned as a system for data centers and backup
sites, where the normal mode of operation is that all nodes
are available

%prep
%setup -q -n slony1-%{version}
./configure --bindir %{_bindir} --libdir %{_libdir}/pgsql --includedir %
{_includedir}/pgsql --datadir /usr/share/pgsql --with-pgsourcetree=%
{pgbld}

%build
make CFLAGS="-I /usr/kerberos/include"

%pre
# postgres group as defined in the postgresql package
groupadd -g 26 -o -r postgres >/dev/null 2>&1 || :
useradd -M -g postgres -r -d /var/lib/pgsql -s /bin/bash \
        -c "Slony-I PostgreSQL Replication" slony 2>/dev/null 1>&2 || :
touch /var/log/slony
chown slony:postgres /var/log/slony
chmod 0770 /var/log/slony

%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root,-)
%doc COPYRIGHT README doc/* tools/*
/usr/local/pgsql/bin/slon
/usr/local/pgsql/bin/slonik
/usr/local/pgsql/lib/slony1_funcs.so
/usr/local/pgsql/lib/xxid.so
/usr/local/pgsql/share/*.sql


%changelog
* Tue Nov 30 2004 Ted Kaczmarek <tedkaz@optonline.net>
- Adaption for Fedora Core 3, slony 1.5
* Mon Aug 23 2004 Geert Vanderkelen <geert@kemuri.org>
- Adaption for Fedora Core 2
* Thu Mar 18 2004 Daniel Berrange <berrange@redhat.com> postgresql-
slony1-engine
- Initial RPM packaging




pgsql-novice by date:

Previous
From: "Thomas Hermann(Software)"
Date:
Subject: Re: views with parameters
Next
From: Akbar
Date:
Subject: remove too much space between words of the string