plptools.spec

Paweł Sakowski pawel w sakowski.eu.org
Śro, 29 Wrz 2004, 16:26:48 CEST


On Wed, 2004-09-29 at 01:44 +0200, Bobby Spark wrote:
> Udało się to spakietować, a nawet działa...
> ale niebardzo mi się to podoba, zresztą sami popatrzcie:
> 
> [...]
>  %{__make} install \
> -       DESTDIR=$RPM_BUILD_ROOT
> +       DESTDIR=$RPM_BUILD_ROOT \
> +       kde_htmldir=%{_kdedocdir} \
> +       kde_libs_htmldir=%{_kdedocdir} \
> +       top_lib_pkgincludedir=%{_includedir}/%{name} \
> +       top_plpprint_pkgdatadir=%{_datadir}/%{name} \
> +       kde_icondir=%{_pixmapsdir} \
> +       kde_appsdir=%{_applnkdir}
> [...]

Mnie tam się podoba :)

> poprawki zrobiłem przy użyciu sed/awk/grep w sekcji prep bo tak mi było
> łatwiej pracować niż patcha robić, a nawet nie wiem na ile to się nadaje
> jeśli ok, mogę to do patcha przerzucić...

To:

> +grep -B1000 "AC_OUTPUT(" conf/configure.in.in | \
> +       grep -v "AC_OUTPUT(" > configure.in.in
> +cat << EOF >> configure.in.in
> +AC_CONFIG_FILES([ plpprint/prolog.ps ])
> +AC_CONFIG_FILES([ doc/ncpd.man ])
> +AC_CONFIG_FILES([ doc/plpnfsd.man ])
> +AC_CONFIG_FILES([ doc/plpftp.man ])
> +AC_CONFIG_FILES([ doc/sisinstall.man ])
> +AC_CONFIG_FILES([ doc/plpprintd.man ])
> +AC_CONFIG_FILES([ doc/plpbackup.man ])
> +EOF
> +rm conf/configure.in.in configure{.in,} po/Makefile.in.in

i to:

> +for MFILE in `find -name Makefile.am`; do
> +       awk ' /INCLUDES/ { sub(/$/, " -I$(top_srcdir)/include") }; {print}' \
> +               $MFILE > ${MFILE}2
> +       mv -f ${MFILE}2 $MFILE
> +done

jest bardzo dobrym przykładem jak _nie_ modyfikować plików ze speca.
Przez sed -i można robić zmiany typu s,/usr/lib,%{_libdir},g , tutaj na
pierwszy rzut oka nie widać co się dzieje, a jest i duża szansa że przy
następnej wersji taka sztuczka przestanie działać (szczególnie w
przypadku configure.in.in). Przynajmniej te dwa wstawiłbym do patcha.

> +for LANG in en de pl; do
> +       MFILE=kde2/doc/kioslave/$LANG/Makefile.am
> +       echo "KDE_LANG = $LANG" > $MFILE
> +       echo "KDE_DOCS = kioslave" >> $MFILE
> +done

Tu byłoby czytelniej gdybyś pisał co wycinasz z M.am, a nie co
zostawiasz. I też raczej widziałbym tu patcha.

Przy okazji, odpowiednie kawałki speca po zoptymalizowaniu:

sed -i '/INCLUDES/s,$,-I$(top_srcdir)/include,'
sed -i '/AC_OUTPUT/,/)/d;/_ALL_SOURCE/d'

I poprosiłbym o jakiś opis czym się zajmuje cvs_fixes.patch, cobym miał
co do commit loga wstawić.

-- 
+----------------------------------------------------------------------+
| Paweł Sakowski <pawel w sakowski.eu.org>            Never trust a man  |
|                            who can count up to 1023 on his fingers.  |
+----------------------------------------------------------------------+






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