HOGYAN készítsünk frissített Ebuild-et
A Gentoo Linux Wiki wikiből
Tartalomjegyzék |
[szerkesztés] Bevezetés
Nos, találtunk egy nagyon jó programot így megnézzük, hogy benne van-e a portage fában - Benne van, de nem a legfrissebb verzió. Hogyan készíthető el az új verzió? A válasz némiképp bonyolult lehet a kezdőbbeknek, de ha egyszer megcsináljuk, sosem felejtjük el. Ez a HOWTO erről fog szólni.
[szerkesztés] A Portage Overlay használata
A portage-nek van egy kiemelkedően hasznos szolgáltatása pont az ilyen esetekre - amit overlay-nek hívnak. Az "overlay" egy könyvtár melybe az ebuild-jeinket rakhatjuk de úgy lesznek kezelve, mintha az aktuális portage fában lennének - mintha az emerge sync-el lettek volna leszedve. Fontos azonban megjegyezni, hogy az emerge sync nem írja fölül ezt a könyvtárat ellentétben azzal ha valamit a valódi portage mappához adunk.
Nos, hogyan is lehet az "overlay"-t beállítani? A következő rész erről szól.
[szerkesztés] Overlay készítése
Egy portage overlay készítéséhez a következő sort kell hozzáadni a /etc/make.conf állományhoz:
PORTDIR_OVERLAY="/usr/local/portage"
A legegyszerűbben ezt úgy végezhetjük el, ha root felhasználóval kiadjuk a következő parancsot:
mkdir /usr/local/portage && echo 'PORTDIR_OVERLAY="/usr/local/portage"' >> /etc/make.conf
Ez a parancs egy lépésben létrehozza a mappát és hozzáadja az overlay-t a make.conf-hoz.
[szerkesztés] A frissített Ebuild elkészítése
Továbbhaladva, keressük meg a már-portage-ben-lévő ebuild-et. A példában az xchat-et használjuk:
# emerge search xchat
* net-irc/xchat
Latest version available: 2.0.8
Latest version installed: 2.0.8
Size of downloaded files: 1,067 kB
Homepage: http://www.xchat.org/
Description: Graphical IRC client
License: GPL-2
* net-irc/xchat-systray
Latest version available: 2.4.0
Latest version installed: [ Not Installed ]
Size of downloaded files: 41 kB
Homepage: http://blight.altervista.org/
Description: System tray plugin for X-Chat.
Most már tudjuk az xchat teljes nevét: net-irc/xchat. Folytathatjuk a saját ebuild-ünk elkészítését.
[szerkesztés] Ebuild másolása az overlay-be
Most már bemásolhatjuk az ebuild-et az overlay-be az új verziószámmal, de először, létre kell hoznunk neki a megfelelő könyvtárat:
mkdir -p /usr/local/portage/net-irc/xchat
Most már átmásolhatjuk a régi ebuild-et az új helyre:
cp /usr/portage/net-irc/xchat/xchat-2.0.8.ebuild /usr/local/portage/net-irc/xchat/xchat-2.0.9.ebuild
Ezt követően egy digest-et kell készítenünk hozzá.
[szerkesztés] Digest készítése
A következőket kell tenni a digest elkészítéséhez:
ebuild /usr/local/portage/net-irc/xchat/xchat-2.0.9.ebuild digest
A parancs letölti az állományokat és elkészíti a hozzájuk tartozó md5 összeget. Általában ennyi az egész. Az xchat-nek ebben a verziójában (2.0.8) azonban volt egy biztonsági rés melyet az ebuild befoltozott és a 2.0.9-es verzióban a fejlesztők javították a hibát. Itt fordulhatnak elő hibák.
[szerkesztés] A foltozott ebuild javítása
Meg kell nyitnunk az új ebuild-et:
nano -w /usr/local/portage/net-irc/xchat-2.0.9.ebuild
Majd megkeressük a probléma forrását:
# fix for sock5 vulnerability - see #46856
epatch ${FILESDIR}/xc208-fixsocks5.diff
Ahhoz, hogy az epatch működjön a következőt kell beírni az ebuild első sorába:
inherit eutils
A sock5 sebezhetőség javítva lett a 2.0.9-es verzióban, így törölhetjük azt az epatch-t, majd ezután az ebuild-nek hibamentesen fordulnia kell.
Ugyanígy járhatunk el más ebuild-ekkel is, hogy a lehető legfrissebb rendszert kapjuk.
