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

Siirry navigaatioon Siirry hakuun
3 214 merkkiä lisätty ,  16. elokuuta 2008
päivittäminen ja muokkaaminen
(miten virallisiin varastoihin)
(päivittäminen ja muokkaaminen)
Rivi 465: Rivi 465:


Lisätietoja CDBS:n käytöstä löytyy artikkelista [[CDBS]].
Lisätietoja CDBS:n käytöstä löytyy artikkelista [[CDBS]].
== Paketin päivittäminen ja muokkaaminen ==
Edellä käsiteltiin uuden paketin tekemistä. Monesti eteen tulee kuitenkin myös tilanteita, joissa jo olemassa olevaa pakettia tulee muuttaa tai päivittää. Päivittämiselle tulee tarve kun paketoidusta ohjelmasta julkaistaan uusi versio tai vaikkapa silloin, kun ohjelmassa oleva ohjelmavirhe (bugi) korjataan ''patch''-tiedostolla.
Muokkauksen tekeminen alkaa hakemalla lähdekoodipaketti. Tämä onnistuu kätevästi komennolla <tt>[[apt-get]] source paketti</tt>. Tällöin <tt>apt</tt> hakee nykyiseen hakemistoon paketin <tt>.dsc</tt>-tiedoston, muutokset sisältävän <tt>.diff.gz</tt>-tiedoston ja alkuperäisen ohjelman sisältävän <tt>.tar.gz</tt>-paketin. Lisäksi hakemistoon syntyy <tt>ohjelmannimi-versio</tt>-hakemisto, jonka sisältä löytyy sekä itse ohjelma että siihen tehdyt muutokset (mm. <tt>debian</tt>)-hakemisto.
Jos nyt halutaan esimerkiksi korjata ohjelmassa oleva bugi, voidaan edellä neuvotulla tavalla lisätä pakettiin uusi <tt>patch</tt>-tiedosto. Tämän lisäksi on aina muistettava kirjata tiedot muutoksesta <tt>debian/changelog</tt>-tiedostoon. Tämä onnistuu helpoiten komennolla <tt>dch -i</tt>. Muutoslokin on tarkoitus tarkkaan kertoa, mitä muutoksia on tehty. Yleensä muutos korjaa jonkun vianhallintajärjestelmässä olevan ilmoitetun bugin, jolloin muutoslokissa mainitaan tämän bugin numero (Debianin vianseurantajärjestelmän kanssa käytetään syntaksia <tt>Closes: #numero</tt> ja Ubuntun Launchpad-järjestelmässä ilmoitettujen bugien kanssa syntaksia LP: #numero).
Jos paketoidusta ohjelmasta on ilmestynyt uusi versio, täytyy toimia hieman eri tavalla. Ensimmäinen tehtävä on ladata uuden ohjelman lähdekoodipaketti ja tutustua uuden version mukana tuomiin muutoksiin (<tt>NEWS</tt>- tai <tt>CHANGELOG</tt>-tiedosto). Tämän jälkeen puretaan paketti tiedostoon <tt>ohjelmannimi-versio</tt> ja uudelleennimetään lähdekoodipakettitiedosto nimelle <tt>ohjelman_versio.orig.tar.gz</tt>. Eli aivan kuin olisimme paketoimassa uutta ohjelmaa.
Tämän jälkeen voidaan kopioida vanha ''debianisointi'' eli <tt>debian</tt>-hakemisto vanhasta paketista uuteen pakettiin. Helpoimmissa tapauksissa tämä riittää, mutta etenkin käytettävien patchien toimiminen ja tarpeellisuus uuden version kanssa on todella tärkeä selvittää. Lisäksi ohjelman kääntäminen ja asentaminen saattaa uuden version kanssa tapahtua eri tavalla. Tällaisessa tapauksessa muutoslokiin kirjataan maininta uudesta versiosta ("New upstream release") ja kerrotaan myös, mitä muita muutoksia pakettiin tehtiin (esimerkiksi jätettiin pois tarpeettomaksi käynyt patchi.
Uuden version numero riippuu siitä, paketoitiinko uusi versio vai korjattiinko vain vanhassa versiossa oleva ongelma. Jos itse ohjelman versio ei muuttunut, kasvatetaan paketin "revision"-numeroa yhdellä, esimerkiksi versio "0.4.1-2" muuttuisi versioksi "0.4.1-3". Jos taas ohjelman versio muuttui, asetetaan paketin versioksi uuden version numero ja "revisioniksi" asetetaan 1: "0.4.1-2" -> "0.4.2-1".
Näiden toimenpiteiden jälkeen voidaan paketti luoda kuten normaalistikin <tt>debuild</tt>- ja <tt>pdebuild</tt>-komennoilla.


== Pakettini on valmis, miten saan sen jakeluni pakettilähteisiin ==
== Pakettini on valmis, miten saan sen jakeluni pakettilähteisiin ==

Navigointivalikko