Ero sivun ”Deb-paketin tekeminen” versioiden välillä
Siirry navigaatioon
Siirry hakuun
migraatio hello 2.2 -> hello 2.6
TJ (keskustelu | muokkaukset) |
TJ (keskustelu | muokkaukset) (migraatio hello 2.2 -> hello 2.6) |
||
Rivi 35: | Rivi 35: | ||
=== Pohja === | === Pohja === | ||
Siirry ohjelman hakemistoon (hello-2. | Siirry ohjelman hakemistoon (hello-2.6) ja aja komento | ||
dh_make -e sinun@sähköpostiosoitteesi -f ../hello-2. | dh_make -e sinun@sähköpostiosoitteesi -f ../hello-2.6.tar.gz | ||
Toinen parametri on siis paketin tekijän sähköpostiosoite ja neljäs alkuperäinen lähdekooditiedosto. Ohjelma kysyy aluksi, minkätyyppistä pakettia olemme luomassa: | Toinen parametri on siis paketin tekijän sähköpostiosoite ja neljäs alkuperäinen lähdekooditiedosto. Ohjelma kysyy aluksi, minkätyyppistä pakettia olemme luomassa: | ||
Type of package: single binary, multiple binary, library, kernel module or cdbs? | Type of package: single binary, multiple binary, library, kernel module or cdbs? | ||
[s/m/l/k/b] | [s/m/l/k/b] | ||
Vastaa tähän s (''single binary''), sillä olemme luomassa yksinkertaista yhden ohjelman käsittävää pakettia. Tämän jälkeen vahvista tiedot entterillä, jonka jälkeen dh_make luo hakemistoon <tt>debian</tt>-alihakemiston, joka sisältää tiedostot, joiden perusteella varsinainen paketti luodaan. Se myös luo ylähakemistoon tiedoston <tt>paketti_versio.orig.tar.gz</tt>, tässä tapauksessa siis <tt>hello_2. | Vastaa tähän s (''single binary''), sillä olemme luomassa yksinkertaista yhden ohjelman käsittävää pakettia. Tämän jälkeen vahvista tiedot entterillä, jonka jälkeen dh_make luo hakemistoon <tt>debian</tt>-alihakemiston, joka sisältää tiedostot, joiden perusteella varsinainen paketti luodaan. Se myös luo ylähakemistoon tiedoston <tt>paketti_versio.orig.tar.gz</tt>, tässä tapauksessa siis <tt>hello_2.6.orig.tar.gz</tt> joka sisältää alkuperäisen lähdekoodipaketin. | ||
Huomaa, että <tt>dh_make</tt> kuuluu ajaa vain kerran! Tulevien muutosten jälkeen sitä ei tarvitse (eikä saa) ajaa. | Huomaa, että <tt>dh_make</tt> kuuluu ajaa vain kerran! Tulevien muutosten jälkeen sitä ei tarvitse (eikä saa) ajaa. | ||
Rivi 122: | Rivi 122: | ||
dh_make luo seuraavanlaisen pohjan <tt>debian/changelog</tt>-tiedostolle: (rivinumerot lisätty) | dh_make luo seuraavanlaisen pohjan <tt>debian/changelog</tt>-tiedostolle: (rivinumerot lisätty) | ||
<pre> | <pre> | ||
1 hello (2. | 1 hello (2.6-1) unstable; urgency=low | ||
2 | 2 | ||
3 * Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP> | 3 * Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP> | ||
Rivi 128: | Rivi 128: | ||
4 -- Tekijän Nimi <sähköposti@osoite.com> Sat, 21 Apr 2007 23:59:27 +0300 | 4 -- Tekijän Nimi <sähköposti@osoite.com> Sat, 21 Apr 2007 23:59:27 +0300 | ||
</pre> | </pre> | ||
Rivillä 1 on aluksi paketin nimi (hello) ja versionumero (2. | Rivillä 1 on aluksi paketin nimi (hello) ja versionumero (2.6-1). Seuraavana on jakelun nimi, johon paketti kuuluu (Debianilla on stable, testing ja unstable -jakelut). Yleensä uudet paketit ja päivitykset vanhoihin paketteihin lisätään ensin kehitysversioon, joka Debianilla on unstable. Viimeisenä on tieto paketin kiireellisyydestä (''urgency''), yleensä "low" on sille oikea arvo. | ||
Tämän jälkeen seuraavilla riveillä on itse muutosloki (engl. ''changelog''). Rivin alussa on kaksi välilyöntiä ja tähti (*). Viimeisenä (rivillä 4) on tieto paketin tekijästä ja tekoajankohdasta (esimerkin mukaisessa muodossa). Tämän rivin alussa on yksi välilyönti. | Tämän jälkeen seuraavilla riveillä on itse muutosloki (engl. ''changelog''). Rivin alussa on kaksi välilyöntiä ja tähti (*). Viimeisenä (rivillä 4) on tieto paketin tekijästä ja tekoajankohdasta (esimerkin mukaisessa muodossa). Tämän rivin alussa on yksi välilyönti. | ||
Rivi 320: | Rivi 320: | ||
== Tehdään paketti! == | == Tehdään paketti! == | ||
Nyt kun tarvittavat tiedostot on lopulta muokattu sopiviksi, on aika luoda varsinainen paketti. Siirry ohjelman päähakemistoon (<tt>hello-2. | Nyt kun tarvittavat tiedostot on lopulta muokattu sopiviksi, on aika luoda varsinainen paketti. Siirry ohjelman päähakemistoon (<tt>hello-2.6</tt>) ja aja komento | ||
debuild | debuild | ||
joka tekee seuraavat asiat: | joka tekee seuraavat asiat: | ||
Rivi 332: | Rivi 332: | ||
Tämän jälkeen, jos kaikki sujui ilman virheitä, ylähakemistosta pitäisi löytyä seuraavat tiedostot: | Tämän jälkeen, jos kaikki sujui ilman virheitä, ylähakemistosta pitäisi löytyä seuraavat tiedostot: | ||
*<tt>hello_2. | *<tt>hello_2.6.orig.tar.gz</tt> - alkuperäinen lähdekoodi | ||
*<tt>hello_2. | *<tt>hello_2.6-1.dsc</tt> - [[gpg]]:llä allekirjoitettu <tt>control</tt>-tiedoston kaltainen tiedosto, jossa on listattu lähdekooditiedoston ja diff-tiedoston [[md5]]-summat | ||
*<tt>hello_2. | *<tt>hello_2.6-1.diff.gz</tt> - [[gzip]]-pakattu [[diff]]-tiedosto lähdekoodiin tehdyistä muutoksista | ||
*<tt>hello_2. | *<tt>hello_2.6-1_i386.deb</tt> - lopullinen deb-paketti! | ||
*<tt>hello_2. | *<tt>hello_2.6-1_i386.changes</tt> - [[gpg]]:llä allekirjoitettu tiedosto, joka sisältää paketin muutoslokin (<tt>debian/changelog</tt>) ja pakettiin liittyvien tiedostojen md5-summat | ||
Nyt lopullinen paketti voidaan asentaa [[dpkg]]:llä: | Nyt lopullinen paketti voidaan asentaa [[dpkg]]:llä: | ||
dpkg -i hello_2. | dpkg -i hello_2.6-1_i386.deb | ||
Kun myöhemmin teet muutoksia pakettiin, voit luoda uuden paketin nopeasti komennolla | Kun myöhemmin teet muutoksia pakettiin, voit luoda uuden paketin nopeasti komennolla | ||
Rivi 363: | Rivi 363: | ||
== Lintian: onnistuiko paketti? == | == Lintian: onnistuiko paketti? == | ||
Lintian on ohjelma, joka tarkistaa tekemäsi paketin laadun. Sille annetaan parametrina pakettia luotaessa syntynyt <tt>.changes</tt>-päätteinen tiedosto. Yleensä kannattaa antaa myös valitsin -i, jolloin lintian kertoo tarkemmin, mikä paketissa on vialla: | Lintian on ohjelma, joka tarkistaa tekemäsi paketin laadun. Sille annetaan parametrina pakettia luotaessa syntynyt <tt>.changes</tt>-päätteinen tiedosto. Yleensä kannattaa antaa myös valitsin -i, jolloin lintian kertoo tarkemmin, mikä paketissa on vialla: | ||
lintian -i hello_2. | lintian -i hello_2.6-1_i386.changes | ||
Tulosteessa E:-alkavat rivit tarkoittavat virhettä, W:-alkavat varoituksia ja N:-alkavat huomautuksia. | Tulosteessa E:-alkavat rivit tarkoittavat virhettä, W:-alkavat varoituksia ja N:-alkavat huomautuksia. | ||