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:

Kapcsolódó cikkek