Deb-src csomagok
Néha előfordul, hogy be kell állítania valamit a forrásban és újra kell építeni egy programot. Továbbá az ügyet bonyolítja, hogy a program része egy nagy projektnek, például KDE4 vagy GNOME. Fogadja külön a forrásait, és újraépítse a programot a "configure, make, make install (checkinstall)" szinte lehetetlen. Ez lehetetlen, mert a fordítók valószínűleg forráskódot, vagy legalább a teljes könyvtári projekthez tartozó fejléceket igényelnek. A forráskönyvtárak pedig pontosan a rendszerben telepített környezet változatát igénylik. A kérdés az, hogy hol szerezhetjük meg őket, ha a hivatalos VCS-ben még a fióktelepünknél is a projekt "balra" kerül? Uzhos és egy rémálom egy szóval.
A műveleteket konkrét példával hajtjuk végre - a Konsole forráskódot a KDE4 asztali környezetből kell kijavítani. A Konsole program már telepítve van a rendszerben, de munkánkban nem szeretünk valamit, például a kurzor alakját. A forrásokat letöltjük, változtatunk, összeállítjuk és telepítjük az újonnan összeállított programot a rendszerbe. Szóval, kezdjük el.
Első lépés - Előkészítés
Először meg kell győződnie arról, hogy vannak olyan sorok a /etc/sources.list fájlban, amelyek forrásadatbázisokat tartalmaznak. Például a Debian Squeeze-ben a következő sorokat kell tartalmaznia:
A deb-src-vel kezdődő sor a forrásadatbázis.
A további megértés érdekében meg kell magyarázni néhány dolgot, amelyek valamilyen oknál fogva gyakran hiányoznak a dokumentációban.
Először is. Meg kell jegyeznünk, hogy minden deb-csomag esetében feltétlenül létezik forrás a deb-src-ban. Az egyetlen kivétel a meta-csomagok, de ők nem érdekelnek minket. Vagyis, ha egy olyan csomagot látsz, amelynek neve szinaptikus, például iptables, akkor ugyanazt az iptables nevet kell használnod a forrásparancsokban.
Másodszor, tudnia kell, hogy az /etc/sources.list listában a deb-src-vel kezdődő sorokat írja. és a következő "apt-get update" parancs után nem fog látni a forráscsomagokat a szinaptikus vagy aptitude-ban. Csatlakozni fognak, a rendszer tudni fogja a forráscsomagokat, de nem fogja látni a rendelkezésre állást.
Második lépés - a források beszerzése és kicsomagolása
A munkakönyvtárban létre kell hoznia egy könyvtárat, amelyet összeszerelésre használnak. Be kell lépnie, és az ezt követő parancsokat ebben a könyvtárban kell végrehajtani.
Az átlag felhasználóból (nem a gyökérből) adja meg a parancsot:
$ apt-get source konzole
Ennek eredményeképpen a forrásfájlok letöltődnek és az aktuális könyvtárba kerülnek. A következtetés így fog történni:
Szükség van 4.082 KB forráskód archívumra.
4,882 kB értéket ért el 44 másodpercig (91,3 kB / s)
dpkg-source: info: kdebase kdebase-4.4.5 kibontása
dpkg-source: info: kicsomagolt kdebase_4.4.5.orig.tar.bz2
dpkg-source: info: kicsomagolt kdebase_4.4.5-2.debian.tar.gz
dpkg-forrás: info: egymásra helyezett debian-T-addition.diff
Harmadik lépés - A függő csomagok telepítése
Ezután be kell szerezni azokat a függő csomagokat, amelyekre szükségünk lesz a program építésére. A gyökértől a parancsot adjuk meg:
# apt-get build-app konzol
Ennek eredményeképpen minden csomag letöltésre és telepítésre kerül, amely nélkül a program építése nem fog működni.
A negyedik lépés - összeállítás
A fordításhoz szokatlan dolog szükséges. Jelenlegi könyvtárunkban tevékenységünk eredményeképpen mindenféle új fájl és alkönyvtár jött létre. Meg kell találnunk a "szabályok" nevű fájlt. Ez egy végrehajtható fájl. Számomra úgy tűnik, hogy így van:
Miután megtalálta, fel kell lépnie a fenti könyvtárba, és adja meg a következő parancsot a szokásos felhasználótól:
$ fakeroot ./debian/rules bináris
Ennek eredményeképpen először elindul a kompiláció, majd egy * .deb fájl jelenik meg az aktuális munkakönyvtárban, amelyen belül az újonnan összeállított program megtalálható. Kiderülhet, hogy nem keletkezik egy * .deb fájl, de több olyan program, amely azonos forráskód-csomagban található.
Például a következő csomagokat kaptam:
E csomagok között szerepel a konzole_4.4.5-2_i386.deb, amely érdekel minket.
Ötödik lépés - Telepítés
Ha új csomagot telepít a meglévõ tetejére, akkor a gyökér parancsot kell megadnia:
# dpkg -i konzole_4.4.5-2_i386.deb
Hehe, valószínűleg végrehajtja ezt a parancsot a Konsole-ban? Ez nem szükséges, majd a telepítés középen fog menni, amikor kicseréli a Konsole fájlokat. Meg kell futtatnunk az xterm-t, menjünk a munkakönyvtárunkba, és végrehajtjuk ezt a parancsot a root-ból.
Az 1. és 5. lépésben meg volt győződve arról, hogy a forráskód elérhető, és hibákat gyűjtenek össze. Most módosíthatja a forrást, és megkaphatja a korrigált programot.
Ahogy az elején írták, nem tetszik a konzol alakú kurzor. Sok oldfags megszokta a villogó kurzort aláhúzás formájában. A kurzor ezen formája a KDE4 környezet Konsole termináljában található, de az űrlap egy vékony vonalnak felel meg, amelynek magassága 1 pixel. Ezt a kurzort nehéz megtalálni a képernyőn.
Ugyanakkor, ha alaposan megvizsgálja a kurzort a Szöveges módban, győződjön meg arról, hogy legalább 2 képpontos magasságú, és ennek a zsírtartalomnak köszönhetően jól észlelhető a képernyőn. Ebben az esetben a kurzor nem egy verviglaznym blokk, amely az egész ismeretséget foglalja el.
Ne feledje, hogy ezeken a fotókon a kurzor magassága 2 pixel, nem pedig 1. Az alapító atyák tudták, mit csinálnak, ellentétben az aktuális majom kódolókkal.
Tehát meg kell változtatnunk a kurzor vastagságát. A kurzor megjelenítését a fájlban találta:
Ebben a fájlban megtaláljuk a drawCursor módszert, és megtaláljuk azt a helyet, ahol a kurzort aláhúzás formájában húzzuk meg. Ez a hely:
más, ha (_cursorShape == UnderlineCursor)
Két sort kell vonnunk, ezért ezt a kódot helyettesítjük: