[hunspell-fi-devel] Joukahainen, Voikko 1.0 (asiaa paketoijille), Soikko
Harri Pitkänen
hatapitk at cc.jyu.fi
Tue Jul 4 13:41:38 EEST 2006
On Tuesday 04 July 2006 12:12, Teemu Likonen wrote:
> Ymmärrän taustalla olevan syyn mutta olen sitä mieltä, että tällainen
> ratkaisu tuottaa enemmän ongelmia kuin se korjaa tai ehkäisee.
>
> Debianilaisessa maailmassa tuo toteutetaan käytännössä niin, että
> Oo2-voikon debian/control-tiedostoon laitetaan kenttä
> Conflicts: openoffice.org-core (>= uusi_upstream-versio)
> jossa uusi_upstream-versio laitetaan pykälää (?) suuremmaksi kuin
> nykyinen. Näin pakotetaan poistamaan Oo2-voikko ennen OOo:n
> päivittämistä. Samalla on tietysti tehtävä uusi versio Oo2-voikosta: se
> käännetään uuden OOo:n kanssa ja päivitetään taas Conflicts-kenttä
> pykälän eteenpäin.
>
> Edellisestä seuraa, että Oo2-voikon lähdekoodipaketit eivät enää
> itsestään sovi joka tilanteeseen vaan nimenomaan tietylle OOo:n
> versiolle. Sikäli kuin ymmärrän, sen aiheuttaa pelkästään tuo
> Conflicts-kenttä, koska sinänsä distron oman OOo:n kanssa käännetty
> Oo2-voikko käsittääkseni toimisi.
Ei kai tuota versiota tarvitse koodata Oo2-voikon lähdekoodipakettiin?
Luulisi, että nuo voi laskea paketin käännösaikana
(openoffice.org-dev -paketin upstream-versionumero + 1 tai vastaavaa).
Tällöin binääripaketti pitää toki kääntää uudelleen jokaiselle OpenOffice.org
upstream-versiolle, mutta näin on käytännössä pakko tehdä muutenkin.
> Konkreettinen tilanne: Ubuntu Dapperiin tehdään sille sopiva Oo2-voikko
> (mukaan lukien se Conflicts-kenttä). Dapperin OOo pysynee varsin
> muuttumattomana (2.0.2) jonkin aikaa, ja Dapperia sinänsä saatetaan
> käyttää pitkäänkin. Loppuvuodesta ilmestyy seuraava Ubuntu nimeltä
> Edgy. Sen jälkeen (tai ehkä jopa ennen) voi ilmestyä uudemmasta OOo:sta
> (2.0.3?) Dapperille backportaus. Conflicts-kentän vuoksi Oo2-voikko ei
> toimi tuon backportin kanssa, vaikka se kenties oikeasti toimisikin.
Ei luultavasti toimi, ainakaan ilman uudelleenasennusta. 2.0.2- ja
2.0.3-versioiden välillähän on jokin yhteensopivuusongelma, joka vaati
uudelleenasennuksen ainakin Oo2-soikolle.
> Backportia käyttävät eivät saa lähdekoodipaketista käännettyä
> Oo2-voikkoakaan toimimaan, vaikka se oikeasti olisi käännetty
> backportatun OOo:n openoffice.org-dev-paketin kanssa ja siten olisi
> yhteensopiva. "Kovakoodattu" Conflicts-kenttä estää. Paradoksaalista,
> koska distron työkaluilla lähdekoodista kääntämällä pitäisi nimenomaan
> saada se kaikkein toimivin.
Kuten edellä kirjoitin, kovakoodattu Conflicts-kenttä ei luultavasti ole
tarpeen.
> On epäilemättä totta, että OOo:n versioiden välillä UNO-komponenttien
> yhteensopivuus on huteraa. OOo:n uusia versioita tulee pääasiassa
> Debian unstableen ja Ubuntun kehitysversioon (nyt/kohta Edgy). Näiden
> kanssa Oo2-voikon on tavallaan "luvallistakin" mennä välillä rikki, se
> on distron kehitysversioiden luonne välillä. Heille voisi joka
> tapauksessa suositella vain lähdekoodista kääntämistä ja paketin
> poistoa ennen OOo:n päivittämistä.
>
> Kaikki varmaankin ovat samaa mieltä, että jos ongelmia täytyy
> väistämättä jollekin aiheuttaa, niin mieluummin kehitysversioiden
> käyttäjille kuin suurelle yleisölle. Voisiko olettaa, että _julkaistun_
> distron mahdolliset OOo:n päivitykset eivät riko UNO-komponenttien
> yhteensopivuutta niin pahasti, että tätä mainittua Conflicts-kenttää
> tarvittaisiin?
Tietoturvapäivitysten osalta ainakin Debianissa näin kai voi turvallisesti
olettaa. Siksi suosittelinkin laittamaan tuon konfliktin koskemaan vain uutta
upstream-versiota, ei mitä tahansa uudempaan versiota.
Mutta minulla on vielä pahempi kauhuskenaario, joka voi toteutua jos tuota
konfliktia ei aseteta ollenkaan. Kuvitellaanpa, että meillä on Kalle, joka on
asentanut Debianin version X, ja siihen openoffice.org-voikon. Debianin
kehittyessä versioon X+1 mennessä on tapahtunut gcc:n päivitys
epäyhteensopivaan ABI-versioon. Kalle päivittää Debianinsa X+1 -versioon.
Kaikki sujuu hyvin, kunnes hän yrittää käynnistää OpenOfficen. Se ei toimi,
vaan antaa mystisen virheilmoituksen "segmentation fault" (tai saattaa toimia
siihen asti kunnes Kalle yrittää tehdä jotain oikolukuun tai tavutukseen
liittyvää). Kalle ei ole aivan neuvoton, vaan ymmärtää asentaneensa ohjelmia
epävirallisista asennuslähteistä, ja poistaa nämä ohjelmat, mukaan lukien
openoffice.org-voikon. Tätä poistettaessa tulee sama
virheilmoitus, "segmentation fault", mutta paketti poistuu. OpenOffice ei
silti ala toimia. Seuraavaksi Kalle yrittää poistaa ja asentaa OpenOfficen
uudestaan. Tilanne ei parane, sama virheilmoitus tulee edelleen. Seuraavaksi
Kalle poistaa kaikki OpenOfficen asetustiedostot, sekä /etc -hakemistosta
että kotihakemistostaan, ja asentaa OpenOfficen uudestaan. Tämän jo luulisi
auttavan, mutta ei. Tässä vaiheessa Kallelta loppuvat neuvot kesken, ja hän
asentaa Debianinsa kokonaan uudestaan, mikä lopulta korjaa tilanteen.
Mikä meni pieleen? openoffice.org-voikkoa poistettaessa sen prerm-skripti
suorittaa "unopkg remove" -komennon, jonka pitäisi poistaa Oo2-voikon
tiedostot OpenOfficen
UNO-komponenttihakemistosta /usr/lib/openoffice/share/uno_packages (tai
jostain muusta hakemistosta, joissakin Debian-paketeissa tämä
on /var -tiedostojärjestelmässä). Unopkg on kuitenkin sen verran tyhmä, että
se yrittää käyttää tuossa hakemistossa olevaa vanhan C++ ABI:n mukaista
jaettua kirjastoa oo2-voikko.so, joka aiheuttaa unopkg:n kaatumisen. Tiedosto
jää siten myös poistamatta, ja Debianin paketinhallintatyökalut eivät sitä
osaa poistaa koska tuota tiedostoa ei ole asentanut dpkg vaan unopkg. Siksipä
kaatuilu ei loppunut Kallen kokeilemilla konsteilla, oikea korjaus olisi
ollut antaa pääkäyttäjänä
komento "rm -rf /usr/lib/openoffice/share/uno_packages". Tätähän ei juuri
kukaan voi arvata jos ei sitä tiedä.
Yllä oleva skenaario ei ole edes mitenkään epätodennäköinen, päin vastoin se
saattaa hyvinkin tulla kyseeseen jo Sarge -> Etch -päivityksessä. Ja koskee
muuten myös Oo2-soikon nykyisiä paketteja.
> Mitä olemme mieltä? Siis sen lisäksi, että koko UNO-systeemi joutaisi
> jonnekin tosi syvälle. :)
Tästä olen kanssasi aivan samaa mieltä. Kannattaisi vain OpenOfficen
kehittäjien ottaa mallia siitä, miten Firefoxissa on laajennukset toteutettu.
Ei niitä sielläkään saatu ensimmäisellä kerralla oikein, mutta nykyään
laajennukset on tarkkaan versioitu ja Firefox poistaa käytöstä
automaattisesti (ja huom! yrittämättä käyttää epäyhteensopivan version
binäärejä) kaikki laajennukset joita ei erikseen ole määritelty
yhteensopivaksi ko. version kanssa.
Harri
More information about the devel
mailing list