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