4 175
muokkausta
(→Patchit: Huomio patch-järjestelmistä.) |
(→CDBS: asiaa) |
||
Rivi 378: | Rivi 378: | ||
== CDBS == | == CDBS == | ||
Edellä tehtiin paketti käyttäen Debhelperiä, jolloin <tt>rules</tt>-tiedoston kirjoittaminen oli hyvinkin työlästä. CDBS (''Common Debian Build System'') on toinen lähestymistapa pakketien luomiseen: sitä käytettäessä [[Autotools]]ia käyttävän paketin <tt>rules</tt>-tiedosto vaatii vain 4 riviä! | |||
CDBS on modulaarinen apuohjelma paketin tekemiseen. Sitä käytettäessä <tt>rules</tt>-tiedostossa sisällytetään halutut moduulit, jotka hoitavat esimerkiksi pakettin kääntämisestä ja patchien käyttöönotosta. Ideana on, että monissa paketeissa samoina toistuvat osiot (esim. paketin kääntäminen ja patchien käsittely) on siirretty yhteen paikkaan, eikä niitä tarvitse aina kirjoittaa uudestaan. | |||
CDBS:ää käytettäessä paketin käännösaikaisiin riippuvuuksiin on lisättävä <tt>cdbs</tt>. | |||
Esimerkiksi edellä paketoimamme <tt>hello</tt>-ohjelman <tt>rules</tt>-tiedostona riittäisi seuraava: | |||
<pre> | |||
#!/usr/bin/make -f | |||
include /usr/share/cdbs/1/rules/debhelper.mk | |||
include /usr/share/cdbs/1/class/autotools.mk | |||
</pre> | |||
Kuten huomaat, CDBS:ää käytetään sisällyttämällä <tt>.mk</tt>-päätteisiä Makefile-tiedostoja. Näitä tiedostoja tulee CDBS:n mukana useita ja niitä voi asentaa myös muista paketeista lisää (jolloin kyseinen paketti on lisättävä käännösaikaiseksi riippuvuudeksi). | |||
Eräitä CDBS:n <tt>.mk</tt>-tiedostoja ovat: | |||
{| border=1 | |||
|'''Tiedosto''' | |||
|'''Kuvaus''' | |||
|- | |||
|<tt>rules/debhelper.mk</tt> | |||
|Käyttää Debhelperiä tarvittavissa kohdissa | |||
|- | |||
|<tt>rules/dpatch.mk</tt><br><tt>rules/simple-patchsys.mk</tt> | |||
|Patch-järjestelmiä | |||
|- | |||
|<tt>class/autotools.mk</tt> | |||
|Käyttää Autotoolsia tarvittavissa kohdissa | |||
|- | |||
|<tt>class/gnome.mk</tt> | |||
|Rakentaa paketin [[GNOME]]-ohjelmalle | |||
|- | |||
|<tt>class/kde.mk</tt> | |||
|Rakentaa paketin [[KDE]]-ohjelmalle | |||
|- | |||
|<tt>class/python-distutils.mk</tt> | |||
|[[Python]]-ohjelmien paketointiin | |||
|} | |||
CDBS:n kanssa ei kuitenkaan tarvitse rajoittua vain <tt>.mk</tt>-tiedostoihin. Jos vaikkapa asennuksen aikana on tehtävä joitain harvinaisempia toimenpiteitä, ne voidaan lisätä <tt>rules</tt>-tiedostoon hieman samaan tyyliin kuin käytettäessä debhelperiä. Esimerkiksi jos paketin <tt>hello</tt> asennuksen yhteydessä on muutettava jonkin tiedoston oikeuksia, se onnistuu lisäämällä <tt>rules</tt>-tiedostoon kohta | |||
binary-install/hello:: | |||
chmod o+x /usr/bin/hello | |||
Mahdollisia kohtia ovat mm. | |||
{| border=1 | |||
|'''Toiminto''' | |||
|'''Suoritus''' | |||
|- | |||
|<tt>binary-install/paketti::</tt> | |||
|Paketin luomisen yhteydessä | |||
|- | |||
|<tt>build/mozvoikko::</tt> | |||
|Kääntämisen yhteydessä | |||
|- | |||
|<tt>clean::</tt> | |||
|Siivottaessa käännöshakemistoa | |||
|} | |||
===Lisätietoja=== | |||
*[https://perso.duckcorp.org/duck/cdbs-doc/cdbs-doc.xhtml CDBS:n dokumentaatio] | |||
==Aiheesta muualla== | ==Aiheesta muualla== |