spec do recenzji

Adam Gołębiowski adamg w biomerieux.pl
Śro, 19 Wrz 2007, 10:34:10 CEST


On Wed, Sep 19, 2007 at 09:43:56AM +0200, Grzegorz Saracki wrote:
> Witam
> 
> Posyłam pierwszego speca jakiego zrobiłem do recenzji.
> Proszę o konstruktywna krytykę ;).

Nie jest źle, ale są pewne "ale":)
- zawsze korzystaj (ale z głową) ze skryptu SPECS/adapter - odwala część
  nudnej roboty za Ciebie,

> Source0:	http://po.shaftnet.org/_media/po-%{version}-%{rcver}.tar.bz2

brak Source0-md5 (./builder -a5 plik.spec)

> URL:		http://po.shaftnet.org/
> BuildRequires:	rpmbuild(macros) >= 1.268
> Requires:	webapps
> Requires:	webserver
> Requires:	webserver(alias)
> Requires:	webserver(php) >= 5.0
> Requires:       php(pgsql)
> Requires:       php(bcmath)
> Requires:       php(xml)
> Requires:	lcms
> Requires:	dcraw
> Requires:	ufraw-batch
> Requires:	exif
> Requires:	ImageMagick-coder-jpeg

kolejność - adapter
> 

niepotrzebna pusta linia

> BuildArch:	noarch
> BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
> # see SOURCES/webapps.README for description and complete listing

takie informacje usuwamy
> 
> %define		_appdir		%{_datadir}/%{name}
> %define		_webapps	/etc/webapps
> %define		_webapp		%{name}
> %define		_sysconfdir	%{_webapps}/%{_webapp}
> %define         _podir    /home/services/%{name}
> 
> # in case _sysconfdir is not in webapps dir, run this replace pattern
> # before copy-pasting to your spec: :%s#%{_sysconfdir}#%{_webapps}/%{_webapp}#g

podobnie jak te

> %prep
> %setup -n po-%{version}-%{rcver} -q

kosmetyka - %setup -q -n ....
> 
> cat > apache.conf <<'EOF'
> Alias /%{name} %{_appdir}
> <Directory %{_appdir}>
> 	Allow from all
> </Directory>
> EOF
> 
> cat > lighttpd.conf <<'EOF'
> alias.url += (
>         "/%{name}" => "%{_appdir}",
> )
> EOF
> 
> 
> cat > config_site.php <<'EOF'
> <?php
> /* Site-specific configuration follows.  Please make changes here,
>    instead of modifying config.php
>  */
> $site_url = "http://localhost/%{name}";  // This site url
> $site_title = "My Photo Organizer"; // Appears in the titlebar on every page.
> // For additional database configuration examples, see config.php
> // Use a local database via UNIX socket (fast and secure, default)
> $db_dsn = "dbname=po_db user=po_user password=po_password";
> $image_repository_path = "%{_podir}/repo";
> $sys_dcraw = "/usr/bin/dcraw";
> /* The default language  -- see src/lang/* for your options */
> $po_options['lang'] = "en_US";
> // set this to 0 once your installation is finished.
> $install_enabled = 1;
> ?>
> EOF

Generalnie takie rzeczy lepiej trzymać w oddzielnych plikach i kopiować
je jako %SOURCE1 / %SOURCE2 / ... na etapie %install
> 
> %install
> rm -rf $RPM_BUILD_ROOT
> 
> install -d $RPM_BUILD_ROOT%{_sysconfdir}
> install -d $RPM_BUILD_ROOT%{_appdir}/{sql,im,help,ie7,lang,include,themes/aqua/jscalendar,javascript/jscalendar/lang,java/{search.layout/buttons,buttons,search.color/buttons}}
> install -d $RPM_BUILD_ROOT%{_podir}/repo
> install config_site.php $RPM_BUILD_ROOT%{_sysconfdir}/config_site.php
> ln -s %{_sysconfdir}/config_site.php $RPM_BUILD_ROOT%{_appdir}/include/config_site.php
> 
> install src/*.php src/*.html src/*.txt src/*.dtd src/*.dist $RPM_BUILD_ROOT%{_appdir}
> install src/sql/*.sql $RPM_BUILD_ROOT%{_appdir}/sql
> install src/help/*.html $RPM_BUILD_ROOT%{_appdir}/help
> install src/im/*.icc src/im/*.icm $RPM_BUILD_ROOT%{_appdir}/im
> install src/ie7/* $RPM_BUILD_ROOT%{_appdir}/ie7
> install src/lang/*.php $RPM_BUILD_ROOT%{_appdir}/lang
> install src/include/*.php $RPM_BUILD_ROOT%{_appdir}/include
> install src/java/search.color/*.java src/java/search.color/*.class $RPM_BUILD_ROOT%{_appdir}/java/search.color
> install src/java/search.color/buttons/*.gif $RPM_BUILD_ROOT%{_appdir}/java/search.color/buttons
> install src/java/search.layout/*.java src/java/search.layout/*.class $RPM_BUILD_ROOT%{_appdir}/java/search.layout
> install src/java/search.layout/buttons/*.gif $RPM_BUILD_ROOT%{_appdir}/java/search.layout/buttons
> install src/javascript/*.js $RPM_BUILD_ROOT%{_appdir}/javascript
> install src/javascript/jscalendar/*.js $RPM_BUILD_ROOT%{_appdir}/javascript/jscalendar
> install src/javascript/jscalendar/lang/*.js $RPM_BUILD_ROOT%{_appdir}/javascript/jscalendar/lang
> install src/themes/*.gif src/themes/*.jpg $RPM_BUILD_ROOT%{_appdir}/themes
> install src/themes/aqua/*.gif src/themes/aqua/*.css src/themes/aqua/*.php src/themes/aqua/*.xcf src/themes/aqua/*.jpg src/themes/aqua/*.png $RPM_BUILD_ROOT%{_appdir}/themes/aqua
> install src/themes/aqua/jscalendar/*.gif src/themes/aqua/jscalendar/*.css $RPM_BUILD_ROOT%{_appdir}/themes/aqua/jscalendar
> 


> install apache.conf $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
> install apache.conf $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
> install lighttpd.conf $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf

O na przykład w ten sposób - zakładając, że SOURCE1: httpd.conf, 
SOURCE2: lighttpd.conf

install %{SOURCE1}  $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
install %{SOURCE1}  $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
install %{SOURCE2}  $RPM_BUILD_ROOT%{_sysconfdir}/lighttpd.conf

> # %webapp_* macros usage extracted from %{_libdir}/rpm/macros.build:
> #
> # Usage:
> #   %%webapp_register HTTPD WEBAPP
> #   %%webapp_unregister HTTPD WEBAPP

Znów - do usunięcia


Chyba tyle - może ktoś jeszcze coś znajdzie.

-- 
 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-devel-pl