Ero sivun ”Deb-paketin tekeminen” versioiden välillä

Siirry navigaatioon Siirry hakuun
654 merkkiä lisätty ,  19. kesäkuuta 2008
(→‎Muut pakettityypit: multi-binarystä juttua)
Rivi 381: Rivi 381:
Toinen esimerkki tilanteesta, jossa ohjelman jakaminen moneen pakettiin on järkevää on ohjelma, jonka mukana tulee paljon (esimerkiksi jopa kymmeniä megatavuja) dokumentaatiota ja ohjeita.
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>.
Debhelper mahdollistaa useampien pakettien luomisen yhdestä lähdekoodipaketista varsin yksinkertaisesti. Ensinnäkin jokaiselle paketille kirjoitetaan oma osio <tt>debian/control</tt>-tiedostoon. Tiedostoon tulee aluksi normaalisti lähdekoodipaketin tiedot, ja tämän jälkeen luotavien binääripakettien tiedot peräkkäin. Esimerkki:
<pre>
Source: hello
Section: unknown
Priority: extra
Maintainer: Ylläpitäjä <sähkö@ơsti>
Build-Depends: debhelper (>= 5), autotools-dev
Standards-Version: 3.7.3
 
Package: hello
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Recommends: hello-doc
Description: Hello-ohjelma
Klassinen hello-ohjelma, joka tulostaa tekstin
hello world.
 
Package: hello-doc
Architecture: all
Depends: hello
Description: Hellon ohjeet
Monipuoliset käyttöohjeet hello world -sovelluksen käyttöön.
</pre>
 
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>.
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>.

Navigointivalikko