On Friday 10 October 2008 17:30:33 Philipp Marek wrote:
> On Friday 10 October 2008 Farzad FARID wrote:
> > On Monday 06 October 2008 18:21:16 Philipp Marek wrote:
> > > No, subversion 1.1 is too old; FSVS needs at least 1.4.
> > >
> > > But for this situation there's an easy workaround: use FSVS'
> > > chroot-helper. See here for details:
> > >   http://fsvs-software.org/doc/doxygen-gif/group__howto__chroot.html
> >
> > Ouch! Too complicated for me.
>
> Could you tell me what didn't work for you, so that I can make the
> instructions and explanations better?

Actually, I didn't even try this solution. I discussed it with my customer, 
who refused it...

> > But finally I repackaged subversion 1.5 and
> > FSVS 1.1.6 as RPMs for RHEL 4, and it works apparently fine.
>
> But now that you've repackaged them - could you put them on rpmforge or
> something like that, so that other can use them, too?

Well, it's a bit dirty, as Subversion 1.5 is not packaged for RHEL 4 and my 
customer's policy is to only install official RH packages, or home compiled 
ones.

So I compiled SVN 1.5 as a sub-task of the RPM creation, installed only 
Subversions's dynamic libraries (plus other dependencies like libneon, 
libserf, libapr, libapr-utils) in a non standard path, "/opt/fsvs/lib", and 
then made the FSVS build use these specific libraries with "export 
RPATH=/opt/fsvs/lib".. ;)

As this whole process generates a single RPM file, which is not too different 
from the standard FSVS RPM package, this suits my customer.

I attach the corresponding .spec file (comments are in french though) to this 
mail. If you think someone might be interested anyway, I can clean it all up 
and make it available on some forge.

 Regards,

-- 
Farzad FARID / Architecte Open Source - Associé
Pragmatic Source / http://www.pragmatic-source.com
Tel : +33 9 53 19 21 90 / Mob : +33 6 03 70 65 46

Name:           fsvs
Version:        1.1.16
Release:        1eas
Summary:        Full system versioning with metadata support
Group:          Development/Tools
License:        GPLv3

# Fchier SPEC pour la compilation statique de FSVS sur RHEL 4
# Auteur : Farzad FARID <[EMAIL PROTECTED]>
# Date : 07/10/2008
#
# Les librairies SVN 1.5.x et APR 1.x n'étant pas compatible avec
# RHEL 4, la compilation de fsvs sur cette plate-forme nécessite
# la compilation manuelle d'une version statique de toutes les
# dépendances.

# !!!!!!!!!!!!!!!! ATTENTION !!!!!!!!!!!!!!!!!!!
# A la compilation, le rpmbuild va crée et remplir le
# répertoire /opt/fsvs. J'ait fait ainsi pour simplifier
# le processus de compilation, qui n'est déjà pas simple.
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

# Definir ici la version de Subversion, et mettre
# les archives "subversion" et "subversion-deps" correspondantes
# dans le répertoire SOURCES, au format tar.bz2.
%define svn_version     1.5.2
%define source1         subversion-%{svn_version}.tar.bz2
%define source2         subversion-deps-%{svn_version}.tar.bz2
# Répertoire destination du paquet final
%define fsvs_dir        /opt/fsvs

URL:            http://fsvs.tigris.org/
Source0:        
http://www.tigris.org/files/documents/3133/43014/fsvs-%{version}.tar.bz2
Source1:        %{source1}
Source2:        %{source2}
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)


#BuildRequires:  apr-devel
#BuildRequires:  apr-util-devel
BuildRequires:  pcre-devel
#BuildRequires:  subversion-devel
BuildRequires:  gdbm-devel
BuildRequires:  ctags

%description
FSVS is a backup/restore/versioning/deployment tool for whole directory
trees or filesystems, with a subversion repository as the backend.
It can do overlays of multiple repositories, to achieve some content
separation (base install, local modifications, etc.) 


%prep
%setup -q
cd $RPM_BUILD_DIR/%{name}-%{version}
tar xjf $RPM_SOURCE_DIR/%{source1}
tar xjf $RPM_SOURCE_DIR/%{source2}

%build
# D'abord on compile Subversin et APR (ainsi que quelques autres
# dépendences comme Neon, Serf) en dynamique, mais installé dans
# un répertoire spécifique à notre version de FSVS.
cd subversion-%{svn_version}
./configure --prefix=%{fsvs_dir}
make
# !!!!!!!!!!!! Voici l'étape qui écrase /opt/fsvs !!!!!!!!!!!!
make install
cd ..
# Retour à la compilation de FSVS
export CFLAGS="$RPM_OPT_FLAGS -I/usr/include/pcre"
export RPATH="%{fsvs_dir}/lib"
%configure --with-aprinc=%{fsvs_dir}/include/apr-1 
--with-svninc=%{fsvs_dir}/include --with-aprlib=%{fsvs_dir}/lib 
--with-svnlib=%{fsvs_dir}/lib
cd src
make %{?_smp_mflags}

%install
rm -rf $RPM_BUILD_ROOT
# Installation des librairies d'abord
mkdir -p $RPM_BUILD_ROOT%{fsvs_dir}
cd subversion-%{svn_version}
DESTDIR=$RPM_BUILD_ROOT make install
# On enlève les fichiers inutiles..
rm -rf $RPM_BUILD_ROOT%{fsvs_dir}/bin
rm -rf $RPM_BUILD_ROOT%{fsvs_dir}/build-1
rm -rf $RPM_BUILD_ROOT%{fsvs_dir}/include
rm -rf $RPM_BUILD_ROOT%{fsvs_dir}/share
cd ..
# Installation de FSVS
mkdir -p $RPM_BUILD_ROOT%{_bindir}
cp -p src/fsvs $RPM_BUILD_ROOT%{_bindir}
mkdir -p $RPM_BUILD_ROOT/%{_docdir}/fsvs-%{version}/
cp -p CHANGES README LICENSE $RPM_BUILD_ROOT/%{_docdir}/fsvs-%{version}/
cp -p doc/PERFORMANCE doc/IGNORING doc/USAGE doc/FAQ 
$RPM_BUILD_ROOT/%{_docdir}/fsvs-%{version}/
# cp -pr example/ $RPM_BUILD_ROOT/%{_docdir}/fsvs-%{version}//example/
mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man1
mkdir -p $RPM_BUILD_ROOT/%{_mandir}/man5
cp -p doc/fsvs.1 $RPM_BUILD_ROOT/%{_mandir}/man1/fsvs.1
cp -p doc/fsvs-options.5 $RPM_BUILD_ROOT/%{_mandir}/man5/fsvs-options.5
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/fsvs
mkdir -p $RPM_BUILD_ROOT/%{_var}/spool/fsvs

%clean
rm -rf $RPM_BUILD_ROOT


%files
%defattr(-,root,root,-)
%attr(755,root,root) %{_bindir}/fsvs
%config %{_sysconfdir}/fsvs/
%config %{_var}/spool/fsvs/
%doc
%doc %{_docdir}/fsvs-%{version}/
# %{_docdir}/fsvs-%{version}//example/
%{_mandir}/man1/*
%{_mandir}/man5/*
%{fsvs_dir}/lib/*

%changelog
* Wed Oct  8 2008 Farzad FARID <[EMAIL PROTECTED]> 1.1.16-1eas
- Version spécifique Easynet, compilée sur RHEL 4, et intégrant toutes les 
dépendances complexes dans le même paquet : Subversion 1.5, APR 1.x, Neon, 
Serf..

* Wed Jun 18 2008 David Fraser <[EMAIL PROTECTED]> 1.1.16-1
- Upgraded to 1.1.16
- Updated with new upstream description and summary

* Wed Apr 30 2008 David Fraser <[EMAIL PROTECTED]> 1.1.15-1
- Upgraded to 1.1.15

* Wed Apr 02 2008 David Fraser <[EMAIL PROTECTED]> 1.1.14-1
- Upgraded to 1.1.14

* Wed Mar 26 2008 Manual "lonely wolf" Wolfshant <[EMAIL PROTECTED]> 1.1.13-5
- man pages are gzipped automatically; cd .. in build is useless

* Wed Mar 26 2008 David Fraser <[EMAIL PROTECTED]> 1.1.13-4
- Removed unneccessary macros

* Tue Mar 25 2008 David Fraser <[EMAIL PROTECTED]> 1.1.13-3
- Removed example directory
- Adjusted Makefile to take RPM_OPT_FLAGS

* Tue Mar 25 2008 Manual "lonely wolf" Wolfshant <[EMAIL PROTECTED]> 1.1.13-2
- Fixed remaining /usr/bin, /etc and /var to use macros

* Tue Mar 25 2008 David Fraser <[EMAIL PROTECTED]> 1.1.13-1
- Upgraded to latest release
- New man file locations
- New example in doc directory

* Tue Mar 25 2008 David Fraser <[EMAIL PROTECTED]> 1.1.12-7
- Re-added doc_dir and man_dir, but make them use _docdir and _mandir
- Fixed version numbers in changelog

* Mon Mar 24 2008 Manuel "lonely wolf" Wolfshant <[EMAIL PROTECTED]> 1.1.12-6
- Missing BR, consistent use of macros

* Mon Mar 24 2008 David Fraser <[EMAIL PROTECTED]> 1.1.12-5
- Corrected rpmlint errors
- Removed manual doc_dir and man_dir definitions

* Thu Feb 21 2008 David Fraser <[EMAIL PROTECTED]> 1.1.12-4
- Added pcre dependency

* Thu Feb 21 2008 David Fraser <[EMAIL PROTECTED]> 1.1.12-3
- Added configuration and WAA directories

* Thu Feb 21 2008 David Fraser <[EMAIL PROTECTED]> 1.1.12-2
- Added documentation directories

* Sat Feb 16 2008 David Fraser <[EMAIL PROTECTED]> 1.1.12-1
- Initial build.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to