phpOpenTracker.spec

Adam Gołębiowski adamg w biomerieux.pl
Wto, 16 Mar 2004, 00:41:01 CET


On Mon, Mar 15, 2004 at 10:37:10PM +0100, Dariusz Wlodarczyk wrote:
> Dnia 15 marca 2004 o godzinie 18:06:25 z adresu adamg w biomerieux.pl,
> dotarła do mnie niesamowita wiadomość o następującej treści:
> 
> AG> On Mon, Mar 15, 2004 at 05:15:32PM +0100, Dariusz Wlodarczyk wrote:
> >> Ooops coś po drodze wpierdzieliło załączniki :( Wysyłałem z
> >> załącznikami (jestem pewien) a nie ma :(
> 
> AG> Wyślij ponownie wstawiając speca w treść listu lub wystaw go godzieś na
> AG> www.
> 
> Się robi :)
> 
> Spec i patch, o którym wspominałem są tu:
> http://apollo.gostyn.pl/~milley/

I od razu mały komentarz:
=======
> # $Revision: 1.0 $, $Date: 2004/03/14 19:46:42 $

To zostawiamy - CVS się tym zajmie.

> Summary:	%{_pearname} - Website traffic analysis framework
> Summary(pl):	%{_pearname} - Abstrakcyjna warstwa analizatora ruchu na stronach WWW

Nie masz wcześniej zdefiniowanej _pearname, zatem to rozwinie się do
%{_nil}. Lepiej to zamienić na nazwę (phpOpenTracker).

> Name:		phpOpenTracker
> Version:	1.4.1
> Release:	1
> License:	Apache Software License, Version 2.0
> Group:		Development/Languages/PHP
> Source0:	http://dl.sourceforge.net/phpopencounter/%{name}-%{version}.tgz
> # Source0-md5:	450a54497531127bf3ed59e0cf17ab68
> Patch0:		%{name}-config.patch
> URL:		http://phpopentracker.de/
> # BuildRequires:	rpm-php-pearprov >= 4.0.2-98
> Requires:	php-pear
> Requires:	jpgraph
> BuildArch:	noarch
> BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)

so far so good. Jedyna uwaga - staramy się trzymać liste Requires i
BuildRequires w alfabetycznej kolejności.
> 
> %define		_target_dir	/usr/share/pear

a to jest równoznaczne %{php_pear_dir}, zatem do wyrzucenia.

> %description
> phpOpenTracker is a framework solution for the analysis of website traffic and visitor analysis.
>
> %description -l pl
> phpOpenTracker jest abstrakcyjną warstwą służącą do analizowania ruchu oraz śledzenia użytkowników na stronach WWW

Staramy się zawijac wokół... hmm, 73 kolumny?

> %prep
> %setup -q -c
> %patch -p1

Tu dobrze.

> %install
> rm -rf $RPM_BUILD_ROOT
> install -d $RPM_BUILD_ROOT%{_target_dir}/%{name} \
> 	   $RPM_BUILD_ROOT%{_target_dir}/%{name}/{API,API/plugins,DB,LoggingEngine,conf} \
> 	   $RPM_BUILD_ROOT/etc/%{name}

można uprościć:
install -d $RPM_BUILD_ROOT{etc/%{name},%{php_pear_dir}/%{name}/{API/plugins,DB,LoggingEngine,conf}

A etc zamienić na %{_sysconfdir}
> 
> install %{name}-%{version}/%{name}.php   $RPM_BUILD_ROOT%{_target_dir}/
> install %{name}-%{version}/%{name}/*.php $RPM_BUILD_ROOT%{_target_dir}/%{name}/
> install %{name}-%{version}/%{name}/API/*.php $RPM_BUILD_ROOT%{_target_dir}/%{name}/API/
> install %{name}-%{version}/%{name}/API/plugins/*.php $RPM_BUILD_ROOT%{_target_dir}/%{name}/API/plugins
> install %{name}-%{version}/%{name}/DB/*.php $RPM_BUILD_ROOT%{_target_dir}/%{name}/DB/
> install %{name}-%{version}/%{name}/LoggingEngine/*.php $RPM_BUILD_ROOT%{_target_dir}/%{name}/LoggingEngine/
> install %{name}-%{version}/%{name}/conf/* $RPM_BUILD_ROOT/etc/%{name}/
> 
> mv -f $RPM_BUILD_ROOT/etc/%{name}/phpOpenTracker.php.dist $RPM_BUILD_ROOT/etc/%{name}/phpOpenTracker.php
> mv -f $RPM_BUILD_ROOT/etc/%{name}/lock.ini.dist $RPM_BUILD_ROOT/etc/%{name}/lock.ini
> 
> for i in `ls $RPM_BUILD_ROOT/etc/%{name}/*` ; do
> ln -sf /etc/%{name}/`basename $i` $RPM_BUILD_ROOT/%{_target_dir}/%{name}/conf/
> done
> 
> %clean
> rm -rf $RPM_BUILD_ROOT

Raczej ok.

> %post
> echo "Remember to create database and customize configuration in /etc/%{name}/config.inc.php" >&2

Zawijanie :)

> %files
> %defattr(644,root,root,755)
> %doc %{name}-%{version}/%{name}/docs/*
> %dir %{_target_dir}/%{name}
> %dir %{_target_dir}/%{name}/API
> %dir %{_target_dir}/%{name}/API/plugins
> %dir %{_target_dir}/%{name}/DB
> %dir %{_target_dir}/%{name}/LoggingEngine
> %dir %{_target_dir}/%{name}/conf
> %dir /etc/%{name}
> 
> %{_target_dir}/*.php
> %{_target_dir}/%{name}/*.php
> %{_target_dir}/%{name}/API/*.php
> %{_target_dir}/%{name}/API/plugins/*.php
> %{_target_dir}/%{name}/DB/*.php
> %{_target_dir}/%{name}/LoggingEngine/*.php
> %config(noreplace) %verify(not size mtime md5) /etc/%{name}/*
> %{_target_dir}/%{name}/conf/*

Można trochę skrócić:
%files
%defattr(644,root,root,755)
%doc %{name}-%{version}/%{name}/docs/*
%{php_pear_dir}/%{name}
%dir %{_sysconfdir}/%{name}
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/%{name}/*

> 
> %define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
> %changelog
> * %{date} PLD Team <feedback w pld-linux.org>
> All persons listed below can be reached at <cvs_login>@pld-linux.org
> 
> Revision 1.0  2004/03/14 19:46:42  milley
> - inital release

Nie wstawiamy logów - tyj zajmuje się cvs.
=============================

-- 
http://www.mysza.eu.org/ | Everybody needs someone sure, someone true,
   PLD Linux developer   | Everybody needs some solid rock, I know I do.



Więcej informacji o liście dyskusyjnej pld-users-pl