Click for English version

Szabályos Ubuntu csomag készítése a wxMaxima példáján keresztül

Somogyi András
2010. február 15.

Creative Commons License
Somogyi András
Szabályos Ubuntu csomag készítése a wxMaxima példáján keresztül
című műve Creative Commons Nevezd meg!-Ne add el!-Így add tovább! 2.5 Magyarország Licenc alá esik.

Bevezető

Ez a dokumentum pár lépesben végigvezeti az olvasót a szabályos Ubuntu csomagkészítés folyamatán. Nevezetesen, a Maxima komputer- algebrai rendszer és grafikus keretprogramja, a wxMaxima csomagolásán keresztül mutatjuk be a csomagkészítés alapjait. További részletes leírások az Ubuntu Wiki kapcsolódó szócikkében olvashatóak. Vállaltan nem adunk teljes, kimerítő leírást, hiszen a feladat komplexitása ezt nem engedi meg, viszont igyekszünk jó irányvonalat mutatni az induláshoz.

Jóllehet, vannak bőven más megoldások csomagok készítésére, ám az itt bemutatott megoldás nagyobb szabadságot és teljesebb eredményt ad. A devscripts-szel készült csomagban minden részletesen beállítható, míg a vonzóbbnak tűnő, egyszerűbb módszerek, mint a checkinstall vagy az epm csak félmegoldást adnak. Ugyan több munkával és utánaolvasással jár ezzel a módszerrel a csomagkészítés, de a befektetett munka nem vész kárba. Ezt a módszert használva rálátást kapunk arra, hogyan is készülhetnek szabványos, hivatalos csomagok. Hiszen, bár működőképesek az egyszerűbb módszerek, és létjogosultságuk is van, mert például nem minden esetben szükséges szabványos csomagot készítenünk. Viszont ha a nyilvánosság elé szánjuk a csomagot, mindenképp érdemes megfelelő minőségben elkészíteni azt.

A devscripts a Debian fejlesztők által létrehozott szkriptgyűjtemény, mely segít a csomag elkészítésében és annak ellenőrzésében is. Az ellenőrzést a Lintian végzi, mely szintén Debian fejlesztés, így ha ez sem talál szabálytalanságot a csomagban, már bizakodhatunk.


A wxMaxima csomagolása


  1. Előkészítés

  2. A csomagolandó forrás beszerzése

  3. Az orig.tar.gz létrehozása

  4. A debian fájlok beszerzése

  5. Új changelog bejegyzés

  6. A forráscsomag létrehozása

  7. A telepíthető csomag létrehozása

A Maxima csomagolása


A wxMaxima program a parancssoros maxima frontendje. Mivel az általunk készített wxMaxima csomag újabb verziót tartalmazhat, gyakran kerülhetünk olyan helyzetbe, hogy a disztribúció által biztosított maxima csomagokkal nem fog működni. A következőkben a maxima csomagolását végezzük el.
A maxima egy lisp nyelven létrehozott alkalmazás. Több lisp implementáció is elérhető, amik segítségével lefordítható, a csomag létrehozható. Ez a howto az sbcl-t használja.
Mivel az Ubuntu csomagból fogunk kiindul, ami a gcl-lel készül, némi módosításra lesz szükségünk a rules fájlban. Ez a fájl a forráskönyvtárban lévő debian könyvtárban található és gyakorlatilag egy makefile. Ezt kell majd szerkesztenünk, hogy az sbcl-t (vagy épp az általunk választott lisp-et) használja a debuild a fordításhoz. A továbbiakban nézzük lépésenként...

  1. A forráskód és a debian könyvtár beszerzése, előkészítés.

  2. Az orig.tar.gz létrehozása

  3. Szerezzük be az Ubuntu csomag forrását

  4. Szükséges módosítások

  5. A forráscsomag létrehozása

  6. A telepíthető csomag létrehozása

Az Ubuntu PPA használata

A továbbiakban az csomag terjesztését megkönnyítő Ubuntu PPA-ba (Personal Package Archives) való feltöltésről lesz szó. A PPA használata több szempontból is kellemes. A felhasználók hozzáadhatják a tárolónk deb-sorát sources.list-hez, így hamar értesülnek az újabb csomagokról, és telepíteniük is könnyebb lesz. A mi dolgunkat annyiban könnyíti meg, hogy a feltöltött forráscsomagból háromféle architektúrára is készül bináris csomag: i386, amd64, lpia. A fordítás is build-szervereken fog történni, így csak a forráscsomag feltöltésére lesz szükség. A PPA igen jó dokumentációval rendelkezik, ezeket el is kell olvasnia mindazoknak, akik használni akarják, itt csak egy rövid útmutatót adok.
Néhány megjegyzés, amiket jó tudni, mielőtt belevágunk.

  1. Előkészületek

  2. Verziók

  3. A forráscsomag elkészítése

  4. Feltöltés

  5. A PPA használata a felhasználó szemszögéből


Ez a leírás a Nyíregyházi Főiskola Matematika és Informatika Intézetének támogatásával készült. Külön köszönettel tartozom Blahota Istvánnak a tesztelésért, észrevételekért, javításokért.