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

Siirry navigaatioon Siirry hakuun
Ei muutosta koossa ,  26. syyskuuta 2010
migraatio hello 2.2 -> hello 2.6
(migraatio hello 2.2 -> hello 2.6)
Rivi 35: Rivi 35:


=== Pohja ===
=== Pohja ===
Siirry ohjelman hakemistoon (hello-2.2) ja aja komento
Siirry ohjelman hakemistoon (hello-2.6) ja aja komento
  dh_make -e sinun@sähköpostiosoitteesi -f ../hello-2.2.tar.gz
  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.2.orig.tar.gz</tt> joka sisältää alkuperäisen lähdekoodipaketin.
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.2-1) unstable; urgency=low
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.2-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.  
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.2</tt>) ja aja komento
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.2.orig.tar.gz</tt> - alkuperäinen lähdekoodi
*<tt>hello_2.6.orig.tar.gz</tt> - alkuperäinen lähdekoodi
*<tt>hello_2.2-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.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.2-1.diff.gz</tt> - [[gzip]]-pakattu [[diff]]-tiedosto lähdekoodiin tehdyistä muutoksista
*<tt>hello_2.6-1.diff.gz</tt> - [[gzip]]-pakattu [[diff]]-tiedosto lähdekoodiin tehdyistä muutoksista
*<tt>hello_2.2-1_i386.deb</tt> - lopullinen deb-paketti!
*<tt>hello_2.6-1_i386.deb</tt> - lopullinen deb-paketti!
*<tt>hello_2.2-1_i386.changes</tt> - [[gpg]]:llä allekirjoitettu tiedosto, joka sisältää paketin muutoslokin (<tt>debian/changelog</tt>) ja pakettiin liittyvien tiedostojen md5-summat
*<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.2-1_i386.deb
  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.2-1_i386.changes
  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.


72

muokkausta

Navigointivalikko