(toiminnot)

hwechtla-tl: Backporttaus

Kierre.png

Mikä on WikiWiki?
nettipäiväkirja
koko wiki (etsi)
viime muutokset


Debianin pakettisysteemissä on yksi piirre, joka on häiritsevä mutta jolle ei ole kunnon ratkaisua. Se on se, että kun paketti vaatii riippuvuutena toisen paketin tietyn version, niin (1) jos tarpeeksi uusi versio on olemassa, mitään ongelmia ei seuraa, mutta (2) jos tämä paketti pitää päivittää, se päivitetään uusimpaan versioon mitä löytyy (koska usein väliversiota, joka olisi vain juuri ja juuri uudempi kuin mitä paketti vaatii, ei ole saatavilla - kaikkien pakettiversioiden säilyttäminen veisi gigoittain tilaa viikossa debianin mirroreilta)

Mutta. Usein versiodependenssi ei ole aito, vaan seurausta siitä, missä ympäristössä ohjelma on käännetty (se pitää tietenkin kääntää uusimpia libbiksiä vasten, muuten se saattaisi estää näiden libbisten upgradet siinä distrossa, josta paketti on). Joten ratkaisu on kääntää paketti uudestaan siinä ympäristössä, jossa itse on. Tätä sanotaan backporttaukseksi.

Kuulostaako monimutkaiselta? Se on itse asiassa näin yksinkertaista:

  1. Pannaan /etc/apt/sources.list :in deb-src:-rivi sille distrolle, josta tarvitsee uuden paketin
  2. apt-get update
  3. apt-get build-dep paketti
  4. apt-get source paketti
  5. cd paketti-joku.versio
  6. dpkg-buildpackage -rfakeroot

Jos tämä ilmoittaa puuttuvia build dependencyjä, asenna ne. Tarkista ensin kaikista versioiduista riippuvuuksista, että tarpeeksi uudet ovat tosiaan saatavilla. Jos eivät ole, kyseessä on aito dependency eikä auta muu kuin päivittää systeemiä tai jättää uusi ohjelma odottelemaan.

Kun dpkg-buildpackage onnistuu, voi paketin asentaa:

  1. dpkg -i ../paketti_jotain.deb

terom: Suhteellisen hyvä lähde valmiiksi backportatuille paketeille on http://www.apt-get.org/ ja http://www.backports.org/


kommentoi (viimeksi muutettu 15.01.2006 13:00)