Zdrojove kody u SUSE - kompilace php
Matej Cepl
mcepl na redhat.com
Čtvrtek Prosinec 6 14:12:23 CET 2007
On Thu, 06 Dec 2007 12:09:11 +0100, Katerina Bubenickova scripst:
> Problem je, ze nerozumim, jak funguje rpmbuild -bb *.spec Zdrojaky se mi
Což takhle proštudovat rpmbuild(8)? Nevím, jak na SuSE, ale na
Fedoře mi to řekne toto:
-bb Build a binary package (after doing the %prep,
%build, and %install stages).
Při pohledu do .spec souboru zjistíte, že:
%prep prakticky rozbalí zdrojáky ze Source* do BUILD podadresáře
a aplikuje Patch*
%build spustí ./configure a make
%install spustí make install
(plus každá fáze může obsahovat ještě spoustu droboty kolem).
> Zdrojaky se mi rozbalily do SOURCES, je tam taky php-5.1.2.bz2,
To je rpm -i. Ty zdrojáky tam nechte (pokud možno ty původní ze
src.rpm) a jediné změny, které uděláte budou v BUILD.
Vybalte si vše do BUILD adresáře (pomocí rpmbuild -bp) a udělejte
si kopii BUILD/php-5.1.2 někam jinam (třeba do
BUILD/php-5.1.2.orig). Pak do toho BUILD/php-5.1.2 radostně
vrtejte, dokud Vám neproběhne ./configure bez problémů
(zkontrolujte ve .spec filu, jestli tam ještě před %configure
neprovádí .spec nějaké další tanečky -- ty také proveďte,
samozřejmě). Poté co to máte ve stavu v jakém to chcete mít,
spusťte
make distclean
a pak
cd ..
diff -u php-5.1.2{,.orig} >../SOURCES/php-5.1.2-KB-build.diff
Prohlédněte php-5.1.2-KB-build.diff v nějakém textovém editoru,
jestli obsahuje jenom to, co chcete. Pak přidejte další řádek do
.spec filu s novým Patch a do %prep další aplikování Vašeho
patche.
Po dlouhodobém studiu výstupu BUILD/php-5.1.2/configure --help
upravte příslušné volání %configure (nebo ./configure -- nevím,
jestli SuSE používá toto makro).
> rozbalila jsem, oeditovala configure, zabalila, nahradila,
> zkontrolovala.
> Nepomohlo to, jako bych nic neudelala.
> V BUILD jsem nasla adresar php-5.1.2, vevnitr configure, to nebylo
> oeditovane, opravila jsem, rpmbuild zase jako bych nic
> neudelala. A potom tohle configure bylo zase bez mych oprav, prepsane
> zpatky.
Samozřejmě, protože první krok %prep fáze (rpmbuild -bp
SPEC/php.spec 2>&1 |less by Vám napovědělo) je
rm -rf BUIILD/%{name}-%{version}
> Tak odkud se to bere, v SOURCES jsem nechala stare
> php-5.1.2.bz2.bak,
> ale to prece nemuze mit zadny vliv?
Ne, to nemá.
> Nebo nejaky patch muze udelat uplne nove configure, a zrusit moje
> zaremovani?
Ne, vy si musíte udělat patch, kterým si nastavíte co potřeba.
> Kolega uz mi rika, abych toho nechala, ze nam to firma nainstaluje na M$
> win, s tim pry nejsou problemy :-(
Bez komentáře. Nebo (abych si neodpustil konkurenční rejpnutí) si
pořiďte distribuci, která má nějaký suppport ;-).
Hezký den,
Matěj Cepl
--
The content of this message is licensed under a Creative Commons
Attribution 3.0 License, Some Rights Reserved.
http://creativecommons.org/licenses/by/3.0/us/
Další informace o konferenci Linux