2006-08-10 23:44:48blog
<g33k>
ugye van olyan, hogy svn (subversion), ami arra jó, hogy ne vesszünk el a verziók, modosítások, sufnifejlesztés kanyonjainak sötétlő mélyében. az svn hivatalosan egy verziókezelő rendszer, igazából isten adománya az egyszeri-egyszerű fejlesztőktől kezdve a profi hacker-gurukon át az ultimét-kóderekkel bezárólag mindenkinek, aki valaha is írt, írni akar, vagy majd fog kódot (az utóbbi általában még nem is tudja, hogy mibe veri a szép kis fejét a Sors)
az svn egy szerver, igazából. lehet bele "elkövetni". tehát megírom a 0.001-es verziót. hozzáadom svn-hez, mint új project. aztán amint modosítok bármit is, nyomok egy "elkövettem" gombot és svn máris jegyzi, hogy 0.002-es verzió, ez és ez változott.. stb.
így él például a linux. sokan, sok helyről, sok időpontban írják a kódsorokat, aztán majd tolják fel egy nagy közös szerverre.. mások átnézik (elvileg), aztán ha jól működik, akkor ez lesz a következő hivatalos verzió..
tehát telepítsünk svn szervert!
ugye van ilyen, hogy Apache (ez A webszerver) beépülőmodul (nem, nem plugin, csak most jobb szót nem találtam rá, a DSO modulon kívül, amit nem akarok most magyarázni [:)
és akkor, nekem már fent is van az Apache 2.2, tehát csak leszedek egy pár fájlt és kész is, gondoltam.
erre kiderült, hogy a 2.2-es Apache olyan APR-t (apache portable runtime) használ, ami nem kompatibilis az 1.3.2-es svn-ével. Pf.. totális megsemmisülés, hisz csak az svn miatt nem akarok feltenni egy 2.0-s Apache-t.
erre jön a vad gondolat, fordítsuk le forrásból az svn-t, az 1.2-es (azaz a 2.2-es Apache-hoz tartozó) APR-el.
Jó, akkor ne csak telepítsünk, hanem fordítsunk is svn-t!
Mi kell hozzá? Első körben az svn-1.3.2 forrás. Ezt egy zip-ben nagyon könnyen letölthetjük. De én inkább leszedtem a legfrissebb verziót, ugye az svn szerverükről.
van egy install file, olvasom.. olvasom .. olvasom .. olvasom. nagyon hosszú. kell vagy 2 tucat külső dolog ahhoz, hogy lefordíthassam.
első körben kell MSVC 6 (Microsoft Visual C++ 6). Puff, olyanom nincs, de egy Microsoft Visual C++ 2005 Express is megteszi, reményeim szerint.
microsoft.com-ról lerántottam ezt a 2005 expresszt. persze ott azt írja, hogy ha esetleg van fent .NET Framework 2-m, akkor azt szedjem le. leszedném, ha nem halna meg mindig a rundll32.exe, ha megnyitom az alkalmazások telepítése/eltávolítása programot a vezérlőpultban. így futottam két kört, unistalláló, más megoldás, kézi eltávolítás.. stb. aztán kiderült, hogy csak a 2.0 béta verziókat kell lekaparni, nekem meg végleges van, úgy döntöttem.
jó, feltettem a visual C++ 2005 expresszt, és most? szedjem le a Platform SDK-t is, különben nem lesznek meg a szükséges forrásfájlok. persze leszedem, persze felinstallálom, persze.. várok.
felkerült ez is, leszedem közben az új pythont (2.4-est), az új perlt (activePerl 5.8.8, 5.8.6 volt fent..) ezek ilyen scriptnyelvek, ezek segítenek konfigurációs fájlokat generálni a fordításhoz...
le kellett még szednem a BerkeleyDB 4.3-at is, a neon-t az openSSL-0.9.7f-et a GNU gettext-et, ehhez a dep. csomagot (függőségek, azaz még további forrásfájlok, amik a gettexthez kellenek), a zlib-et az apache forrást (2.2.3-at, egyből frissítettem is a gépemen lévőt), akkor már az új APR-ek forrásait is le kellett szednem. és apr, apr-utils, apr-iconv is kellett.
a zlib-hez kellett egy asszembler is (ASM , kb. 1. generációs programozási nyelv, regiszterekkel és memóriacímzéssel és ilyenekkel operál), leszedtem a NASM-et, mert az install fájl azt mondta, az is jó.. de a visual C-nek MASM32 kellett, leszedtem, feltettem.
kellett még az AWK (programozási nyelv, szövegfeldolgozásra főleg) értelmező is.
akkor végre fordítsuk már le azt a nyavajás svn-t.
az install file egy bat fájlt jelöl meg, mint kiindulási alap, amit át kell írni, a megfelelő elérési utakkal, majd futtatni.
átítam, átírtam .. átírtam. és még futtatás előtt problémákba ütköztem.
msdev.exe, ilyen nincs a Visual C++ 2005 Express-ben. Ez a file olyat tudna, amit a VCExpress.exe nem tud, azaz egyből egy projectet fordítana a megfelelő parancssori kapcsolókkal, fákk.
itt haltam volna meg, ha nem hagyom az Apache modulos dolgot és szedem le az 1.3.2-es SVN-t és használom az svnserve.exe-t.
puff.
az igazi g33k megoldja a problémáit. általában. most például egy visual studio 2005-öt fogok beszerezni :)