Erinevus lehekülje "Lähtekoodi pakk" redaktsioonide vahel

Tramm (arutelu | kaastöö)
(Uus lehekülg: ''''Lähtekoodi pakk''' (''tarball'', ''source distribution package'' jne) on distrote üldistele standarditele vastavalt vormistatud iseseisev lähtekoodi üksus. Lähtekoodi pa…')
 
Tramm (arutelu | kaastöö)
(Juhiseid tarballide tegemiseks ja haldamiseks)
 
(ei näidata sama kasutaja 23 vahepealset redaktsiooni)
1. rida: 1. rida:
 
'''Lähtekoodi pakk''' (''tarball'', ''source distribution package'' jne) on distrote üldistele standarditele vastavalt vormistatud iseseisev [[lähtekood]]i üksus. Lähtekoodi pakk sisaldab enamasti kompileerimisjuhiseid, muudatuste logi, autorite nimekirja ja vaba tarkvara puhul kindlasti märkusi lähtekoodi joaks kasutatud litsentside kohta. Enamasti nõuavad distrod vaidluste vältimiseks, et ka lähtekoodi iga faili päises oleks viide koodi litsentsile.
 
'''Lähtekoodi pakk''' (''tarball'', ''source distribution package'' jne) on distrote üldistele standarditele vastavalt vormistatud iseseisev [[lähtekood]]i üksus. Lähtekoodi pakk sisaldab enamasti kompileerimisjuhiseid, muudatuste logi, autorite nimekirja ja vaba tarkvara puhul kindlasti märkusi lähtekoodi joaks kasutatud litsentside kohta. Enamasti nõuavad distrod vaidluste vältimiseks, et ka lähtekoodi iga faili päises oleks viide koodi litsentsile.
  
=Juhiseid tarballide tegemiseks ja haldamiseks=
+
Lähtekoodi pakkide soovituslikud omadused on kujunenud vaba tarkvaraga kaasnevast arendusmudelist ja selle parimatest praktikatest. Lähtekoodi pakendus peegeldab ühtlasi tarkvara arendusmudeli läbimõeldust. Ideaalsel vaba tarkvara projektil on peaaegu paratamatult ideaalsed lähtekoodi pakid, lähekoodi pakettide puudulikkus aga on sageli indikaatoriks projekti koodi kasutamisega kaasneda võivatest turvariskidest jms.
 +
 
 +
==Juhiseid tarballide tegemiseks ja haldamiseks==
 
* Tarballid peaksid olema saadaval soovitatavalt [[tar.bz2]], [[tar.xz]] või [[tar.gz]] kujul. Kõigi nende sisu peab olema sama [[versioon]]i märgistuse korral identne. Soovitatavalt jääb juba avalikuks tehtud tarball täpselt samale URL-ile kättesaadavaks mõistlikult pikaks ajaks.
 
* Tarballid peaksid olema saadaval soovitatavalt [[tar.bz2]], [[tar.xz]] või [[tar.gz]] kujul. Kõigi nende sisu peab olema sama [[versioon]]i märgistuse korral identne. Soovitatavalt jääb juba avalikuks tehtud tarball täpselt samale URL-ile kättesaadavaks mõistlikult pikaks ajaks.
* Tarballi nimi peab olema unikaalne, koosnedes projekti nimest, versiooninumbrist ning pakkemeetodi laiendist, nt projekt-1.2.3.tar.xz
+
* Tarballi nimi peab olema unikaalne, koosnedes projekti nimest, versiooninumbrist ning pakkemeetodi laiendist, nt projekt-4.2.13.tar.xz.
* Kui tarball on tehtud avalikult kättesaadavaks, siis tohi selle sisu enam muutuda. Distributsiooni jaoks tähendab kontrollsumma või suuruse muutus, et kräkkerid on faili muutnud ja midagi on pahasti.
+
* Tarballide sisemine (kataloogi)struktuur peaks püsima läbi eri versioonide sama märkimisväärse stabiilsusega. Muudatused struktuuris tekitavad alati probleeme pakendajatele ja neist tuleks hoiduda.
* Hea kui ei  muudeta nö vanade tarballide paiknemise alamkataloogi kuskile "old/" või  "vanad/" alla. Tavaliselt on selle põhjuseks ülemkataloogi failide üleküllus, millisel juhul võiks ettenägelikult juba alguses paigutada  eri projektide tarballid eraldi kataloogidesse ning vajadusel veel versiooni põhinumbrite järgi alamkataloogidesse. Hea näide: http://download.gnome.org/sources/gnome-shell/3.4 ja selle ülemkataloogid --- iga projekt (tarballi nime osa) on oma  alamkataloogis ja eraldi peamise versiooni numbri järgi jaotatud, nii et  distributsioonid saavad automaatselt versiooni järgi asukoha kätte (http://põhiaadress/sources/pakinimi/ver_major.ver_minor/pakinimi-ver_major.ver_minor.ver_micro.tar.xz)
+
* Kuna vaba tarkvara puhul on määrava tähtsusega, et kood oleks vaba ja jääks vabaks, siis on oluline pöörata tähelepanu koodi litsentsile. Iga koodifaili puhul peaks olema päises märgitud koodi autor või allikas ja kasutatud litsents. See lihtsustab koodi päritolu kontrollimist ja ennetab vaidlusi autoriõiguse rikkumiste osas.
 +
* Tarballi sees peaks olema alati üldjuhised (''README'') ja märkused kasutatud litsentside kohta (''COPYING''), eraldi tuuakse ära muudatuste logi (''ChangeLog'' või ''NEWS'') ja/või autorite nimekiri (''AUTHORS'') ning paigaldusjuhised (''INSTALL'') jms.
 +
* Muude kataloogide osas sisaldavad tarballid tavaliselt juurkataloogis kompileerimiseks/haldamiseks vajalikke faile (''CMakeLists.txt'', ''configure'' jne), rakenduse põhiosa moodustav lähtekood on tavaliselt kataloogis (''src''), eraldi alamkataloogides aga tõlkeid (nt ''po'' gettexti puhul), dokumentatsiooni (nt ''docs''), testiplaane/juhte (''test''), juhendeid (''man'') jm nagu ikoonid, käivitajad ja mis kõik veel.
 +
* Kui tarball on tehtud avalikult kättesaadavaks, siis tohi selle sisu enam muutuda. Distributsiooni jaoks tähendab kontrollsumma või suuruse muutus, et kräkkerid on faili muutnud ja midagi on pahasti. Sageli avaldatakse koos koodipakkidega eraldi kanalite kaudu ka kontrollsummad või allkirjad, et allalaadijad saaks veenduda, et nad saavad rikkumata koodi.
 +
* Hea kui ei  muudeta nö vanade tarballide paiknemise alamkataloogi kuskile "old/" või  "vanad/" alla. Tavaliselt on selle põhjuseks ülemkataloogi failide üleküllus, millisel juhul võiks ettenägelikult juba alguses paigutada  eri (alam)projektide tarballid eraldi kataloogidesse ning vajadusel veel versiooni põhinumbrite järgi alamkataloogidesse. Hea näide: http://download.gnome.org/sources/gnome-shell/3.4 ja selle ülemkataloogid --- iga projekt (tarballi nime osa) on oma  alamkataloogis ja eraldi peamise versiooni numbri järgi jaotatud, nii et  distributsioonid saavad automaatselt versiooni järgi asukoha kätte (http://põhiaadress/sources/pakinimi/ver_major.ver_minor/pakinimi-ver_major.ver_minor.ver_micro.tar.xz)
  
=Välislingid=
+
==Välislingid==
*[http://www.gnu.org/prep/maintain/html_node/Distribution-tar-Files.html GNU projekti juhised tarballide tegemiseks]
+
*[http://wiki.debian.org/DFSGLicenses Debiani distro nimekiri vaba tarkvaraga ühilduvatest litsentsidest]
 +
*[http://en.wikipedia.org/wiki/README Wikipedia seletus README, COPYING jt kohta]
 +
*[http://www.gnu.org/prep/maintain/html_node/Distribution-tar-Files.html GNU projekti juhised tarballide tegemiseks (vana)]
 +
*[http://www.gnu.org/prep/standards/html_node/Releases.html GNU projekti juhised väljalasete vormistamiseks (vana)]
 +
*[http://www.riso.ee/wiki/Vaba-tarkvara#Vaba_tarkvara_arendusmudel RISO dokumenteerib EL koosvõime raamistiku alusel vaba tarkvara arendusmudelit]
  
 
[[Kategooria:Info]]
 
[[Kategooria:Info]]
 
[[Kategooria:Programmeerimine]]
 
[[Kategooria:Programmeerimine]]

Viimane redaktsioon: 10. detsember 2012, kell 16:05

Lähtekoodi pakk (tarball, source distribution package jne) on distrote üldistele standarditele vastavalt vormistatud iseseisev lähtekoodi üksus. Lähtekoodi pakk sisaldab enamasti kompileerimisjuhiseid, muudatuste logi, autorite nimekirja ja vaba tarkvara puhul kindlasti märkusi lähtekoodi joaks kasutatud litsentside kohta. Enamasti nõuavad distrod vaidluste vältimiseks, et ka lähtekoodi iga faili päises oleks viide koodi litsentsile.

Lähtekoodi pakkide soovituslikud omadused on kujunenud vaba tarkvaraga kaasnevast arendusmudelist ja selle parimatest praktikatest. Lähtekoodi pakendus peegeldab ühtlasi tarkvara arendusmudeli läbimõeldust. Ideaalsel vaba tarkvara projektil on peaaegu paratamatult ideaalsed lähtekoodi pakid, lähekoodi pakettide puudulikkus aga on sageli indikaatoriks projekti koodi kasutamisega kaasneda võivatest turvariskidest jms.

Juhiseid tarballide tegemiseks ja haldamiseks

  • Tarballid peaksid olema saadaval soovitatavalt tar.bz2, tar.xz või tar.gz kujul. Kõigi nende sisu peab olema sama versiooni märgistuse korral identne. Soovitatavalt jääb juba avalikuks tehtud tarball täpselt samale URL-ile kättesaadavaks mõistlikult pikaks ajaks.
  • Tarballi nimi peab olema unikaalne, koosnedes projekti nimest, versiooninumbrist ning pakkemeetodi laiendist, nt projekt-4.2.13.tar.xz.
  • Tarballide sisemine (kataloogi)struktuur peaks püsima läbi eri versioonide sama märkimisväärse stabiilsusega. Muudatused struktuuris tekitavad alati probleeme pakendajatele ja neist tuleks hoiduda.
  • Kuna vaba tarkvara puhul on määrava tähtsusega, et kood oleks vaba ja jääks vabaks, siis on oluline pöörata tähelepanu koodi litsentsile. Iga koodifaili puhul peaks olema päises märgitud koodi autor või allikas ja kasutatud litsents. See lihtsustab koodi päritolu kontrollimist ja ennetab vaidlusi autoriõiguse rikkumiste osas.
  • Tarballi sees peaks olema alati üldjuhised (README) ja märkused kasutatud litsentside kohta (COPYING), eraldi tuuakse ära muudatuste logi (ChangeLog või NEWS) ja/või autorite nimekiri (AUTHORS) ning paigaldusjuhised (INSTALL) jms.
  • Muude kataloogide osas sisaldavad tarballid tavaliselt juurkataloogis kompileerimiseks/haldamiseks vajalikke faile (CMakeLists.txt, configure jne), rakenduse põhiosa moodustav lähtekood on tavaliselt kataloogis (src), eraldi alamkataloogides aga tõlkeid (nt po gettexti puhul), dokumentatsiooni (nt docs), testiplaane/juhte (test), juhendeid (man) jm nagu ikoonid, käivitajad ja mis kõik veel.
  • Kui tarball on tehtud avalikult kättesaadavaks, siis tohi selle sisu enam muutuda. Distributsiooni jaoks tähendab kontrollsumma või suuruse muutus, et kräkkerid on faili muutnud ja midagi on pahasti. Sageli avaldatakse koos koodipakkidega eraldi kanalite kaudu ka kontrollsummad või allkirjad, et allalaadijad saaks veenduda, et nad saavad rikkumata koodi.
  • Hea kui ei muudeta nö vanade tarballide paiknemise alamkataloogi kuskile "old/" või "vanad/" alla. Tavaliselt on selle põhjuseks ülemkataloogi failide üleküllus, millisel juhul võiks ettenägelikult juba alguses paigutada eri (alam)projektide tarballid eraldi kataloogidesse ning vajadusel veel versiooni põhinumbrite järgi alamkataloogidesse. Hea näide: http://download.gnome.org/sources/gnome-shell/3.4 ja selle ülemkataloogid --- iga projekt (tarballi nime osa) on oma alamkataloogis ja eraldi peamise versiooni numbri järgi jaotatud, nii et distributsioonid saavad automaatselt versiooni järgi asukoha kätte (http://põhiaadress/sources/pakinimi/ver_major.ver_minor/pakinimi-ver_major.ver_minor.ver_micro.tar.xz)

Välislingid

Aita seda lehekülge täiustada!

Hoia sellel leheküljel ja kõigil sellele tehtud muudatustel silma peal.