dpkg --print-architecture
Az első lépés a már említett /etc/apt/sources.list.d/gyimesilaszlo.list fájl kiegészítése egy második sorral:
deb-src http://www.gyimesilaszlo.hu stretch main
majd root-ként az apt-get update
parancs kiadása. Az apt parancs ettől látja a forrásprogramokat. Ha csak le akarjuk tölteni, és kézzel fordítani:
apt-get source csomag
forráscsomag → bináris csomag → install.
A bináris csomag előállítása a fordítás, a keletkezett programok és más fájlok végleges helyére másolása az installálás, magyar szóval telepítés.
A forrás- és bináris csomag neve azonos.
Először arról kell meggyőződni, hogy minden kellék (csomag) megvan-e a fordításhoz:
apt-get build-dep wikikotta
Ezt fogjuk látni:
Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: builddeps:wikikotta : Depends: libwikisabl but it is not installable Depends: libgyim but it is not installable E: Unable to correct problems, you have held broken packages.Azért „not installable”, mert installálni csak bináris csomagot lehet, és a gyimesilaszlo repository-ban csak amd64-es bináris csomagok vannak. Forrásban viszont megvan a két hiányolt csomag, de azoknak is lehetnek függőségei.
apt-get build-dep wikikotta libwikisabl libgyim
… The following packages have unmet dependencies: builddeps:libwikisabl : Depends: libgyim (>= 1.2) but it is not installable builddeps:wikikotta : Depends: libwikisabl but it is not installable Depends: libgyim but it is not installable E: Unable to correct problems, you have held broken packages.A libgyim csomagnak nincsenek függőségei: ezzel kell kezdeni a fordítást, majd a bináris csomagot feltelepíteni (mivel mindkét másik csomag függ tőle). Ugyanezt megismételni a libwikisabl-lal, végül jön az eredeti cél, a wikikotta. Ez bizony macerás. Ezért szeretjük a bináris csomagokat: ott minden automatikusan, egy lépésben történik.
apt-get --compile source libgyim
dpkg-buildpackage: info: binary-only upload (no source included)
A könyvtárban keletkezett néhány fájl, köztük egy .deb kiterjesztésű bináris csomag, és egy alkönyvtár, benne a forrásprogramokkal.
dpkg -i libgyim_1.2-2_armhf.deb
(1.2-2 a csomag verziószáma, armhf az architektúra, ez esetben raspberry pi.)
A telepítéskor újabb csomaghiányokat tapasztalhatunk (libgyim-nél véletlenül nem). A hiányzó csomagok a fordítást nem, de a működést akadályozzák. Ugyanúgy forrásból kell telepíteni őket, mint a fenti példában libgyim-et, kezdve a függőségek felderítésével. A telepítés sorrendje tetszőleges. Végül újra ki kell adni a függőség miatt meghiúsult dpkg utasítást.
A függőségek későbbi vizsgálatakor az apt-get le akarja törölni a függőség miatt sikertelenül telepíteni próbált csomagot. Ezt nem érdemes hagyni, különben később újra le kell tölteni és fordítani a csomagot.
apt-get update
utasítást, töröljük le a letöltött csomagot, és próbáljuk meg még egyszer (többször ne)
make
parancsot. Ez lefordítja a bináris programokat. Nem szabad sem hibajelzést, sem figyelmeztető üzenetet kapni. Ha mégis, a hibaüzenetből kiderül, ha a fordításhoz szükséges program hiányzik. A https://www.debian.org/distrib/packages lap alján, a Keresés a csomagok tartalmában fejezetben megkereshetjük, melyik csomagban van: telepítsük fel, és kezdjük újra a hibakeresést. Ha a fordítás figyelmeztetést vagy hibát ír ki, akkor a forráscsomag függőségeiben van a hiba: email a lap alján levő címre.
Makefile
-ben a szabályt (.deb-re érdemes keresni), pl.:
# make wikikotta_1.0-2_amd64.deb $(CSNEV)_$(VERZIO)-${ALVERZ}_amd64.deb : $(BINNEV)A komment megmondja a kiadandó utasítást. Ettől kezdve a debian-fejlesztők kezében vagyunk… Legvégső esetben a debian csomagkezelő megkerülésével installálhatunk a
make install
paranccsal, ezt már root-ként kiadva.
Vissza a repository gyökérbe
Levélcím: gyimesilaszlo9 kukac gmail pont com |