4 175
muokkausta
p (→CDBS) |
(→Muut pakettityypit: multi-binarystä juttua) |
||
Rivi 376: | Rivi 376: | ||
== Muut pakettityypit == | == Muut pakettityypit == | ||
===Multi-binary: Monta pakettia yhdestä lähdekoodipaketista === | |||
Joskus tulee eteen tilanne, jossa yksi ohjelma on jaettava useampaan eri pakettiin. Tällainen tilanne tulee eteen mm. silloin, kun paketoidaan suurta peliä: yleensä peleissä itse käännetty ohjelma vie murto-osan siitä tilasta, jonka pelin datatiedostot vievät. Jos koko ohjelma laitettaisiin yhteen pakettiin, käytettäisiin turhaan palvelimen levytilaa ja resursseja, kun samat alustariippumattomat datatiedostot kopioitaisiin jokaiselle arkkitehtuurille tehtyyn pakettiin. | |||
Toinen esimerkki tilanteesta, jossa ohjelman jakaminen moneen pakettiin on järkevää on ohjelma, jonka mukana tulee paljon (esimerkiksi jopa kymmeniä megatavuja) dokumentaatiota ja ohjeita. | |||
Debhelper mahdollistaa useampien pakettien luomisen yhdestä lähdekoodipaketista varsin yksinkertaisesti. Ensinnäkin jokaiselle paketille kirjoitetaan oma osio <tt>debian/control</tt>-tiedostoon. Tämän jälkeen muutetaan paketin asentamista (<tt>debian/rules</tt>) siten, että esimerkiksi pakettiin <tt>hello</tt> kuuluvat tiedostot asennettaisiin hakemistoon <tt>debian/hello/</tt> ja paketin <tt>hello-doc</tt>-tiedostot hakemistoon <tt>debian/hello-doc</tt>. Näihin hakemistoihin tiedostot asennetaan kuten normaalisti luotaessa vain yhtä pakettia, eli esimerkiksi ajettavat ohjelmat voitaisiin sijoittaa polkuun <tt>debian/hello/usr/bin/</tt>. | |||
Tällaisessa tilanteessa ei yleensä ole järkevää käyttää <tt>dirs</tt>-tiedostoa luomaan samat hakemistot molempiin paketteihin, koska luultavasti samoihin hakemistoihin ei sijoiteta tiedostoja eri paketeissa. Sen sijaan voidaan käyttää pakettikohtaisia tiedostoja, esimerkiksi <tt>hello.dirs</tt> ja <tt>hello-doc.dirs</tt>. | |||
Jos jokin Debhelperin komento (muotoa <tt>dh_jotain</tt>) halutaan <tt>rules</tt>-tiedostossa ajaa vain tietylle paketille, voidaan käyttää valitsinta <tt>--package</tt>, esimerkiksi komennolla | |||
dh_installinfo --package=hello | |||
asennettaisiin [[info]]-tiedostot vain <tt>hello</tt>-pakettia luotaessa. | |||
== CDBS == | == CDBS == |