Debian Fordítás
Hogyan kell lefordítani egy Debian vagy Ubuntu csomagot?
Főbb lépések a következők:
- apt-get install dpkg-dev
- Ez a source csomagok kezeléséhez szükséges csomagokat telepíti, és csak egyszer kell futtatni.
- apt-get source packagename
- Ez letölt pár file-t: egy .orig.tar.gz, egy .dsc és egy .diff.gz nevűt. Ezekből áll össze a debian csomag forrása.
- Ha egyből a fordítást is el akarod indítani, akkor apt-get -b source packagename
- Ha valamiért már birtokodban lenne az orig.tar.gz, .dsc és .diff.gz, akkor azt a dpkg-source -x <whatever>.dsc paranccsal lehet kitömöríteni.
- Lépj be az újonnan létrejött könyvtárba, aminek a neve jó eséllyel packagename lesz.
- dpkg-buildpackage -rfakeroot -uc -b -jauto
- Ez szépen lefordítja a csomagot, és létrehoz egy (vagy több) csinos kis .deb file-t egy könyvtárral feljebb.
- Ezt a csomagot dpkg --install packagename.deb paranccsal telepítheted.
Miért jó lefordítani egy csomagot ahelyett, hogy a szép előregyártottat használnád?
- Mert van egy plusz patch amit bele akarsz gyúrni.
- Valamilyen hibát ki kell javítanod a forrásban.
- Vagy a számítógépeden valamiért a gyári bináris nem fut, de a helyben fordított igen (pl mplayer egyes gépeken).
Utómunkálatok
Ha beállítottad, hogy a rendszered automatikusan frissüljön (érdemes!), és nem szeretnéd hogy az újonnan fordított csomagodat a rendszer "frissítse" a következő előregyártott változattal, akkor még egy lépés van hátra.
- echo packagename hold | dpkg --set-selections
- Ez beállítja, hogy a csomagból a jelen verzió marad, akkor is ha upgrade van.
- dpkg --get-selections packagename
- Ezzel tudod leelenőrizni, hogy az előző művelet sikeres volt-e.
- Ha valamikor a jövőben mégis upgradelni szeretnéd, akkor a következővel tudod visszacsinálni:
echo packagename install | dpkg --set-selections
Debian release keverése
Nem tartozik szorosan a fordítás témájához, de kapcsolódik következő téma: mi van, ha egy csomag nem található a stable változatban, vagy neked konkrétan a testing-ben található változatra van szükséged?
A megoldás a következő:
- Az /etc/apt/sources.list file-ban hozzá kell adni a testing repokat. Ezt úgy a legegyszerűbb, ha a stable sorokat megduplázod.
- Az /etc/apt/apt.conf.d könyvtárban létre kell hozni egy új file-t, mondjuk 30defaultrelease néven. Ennek a tartalma a következő legyen:
APT::Default-Release "stable";
- Ezek után ha egy csomagból a testing változatot szeretnéd telepíteni, akkor a következő paranccsal teheted meg:
apt-get -t testing install <csomagnév>
InfoTéma