Re: [LINUX:3626] program gelistirme

Gorkem Cetin (e077245@narwhal.cc.metu.edu.tr)
Wed, 17 Dec 1997 19:14:34 +0300 (MEST)


On Wed, 17 Dec 1997, Guven Demir wrote:

> arasira bazi ufak programciklar yaziyorum. bunlar icin linux altinda
>
> - kod yazimi
> - yardim yazimi
> - paketleme
>
> ve benim aklima gelmeyen bazi standartlasmalar var midir?

Selam.

Linux için bir program yazmaya başlamadan önce bazı standartlara
uymaniz gerekir. Ben sizin, kendi programlarinizi GNU lisans altinda
paketleyip dagitacaginizi farzediyorum.

- Öncelikle bir GPL (Gnu public licence) örneğini paketinize ekliyorsunuz.
Genellikle yapilan bir README dosyasinin sonuna bu manifestoyu eklemek.
Varolan README dosyalarini inceleyin.

- Standart dahilinde OLMASA da , ben paketi açtigim zaman README, INSTALL
CHANGES ile birlikte ya bir Makefile, ya da bir configure dosyasini
ararim.

- Paketin içinden bir kilavuz sayfası çikacak ise (örnegin ppptool.1)
bunun için Man-page-mini-HOWTO'yu okumanizi öneririm. Orada bir kilavuz
sayfasının nasıl yazılacağına ilişkin çok detaylı bilgiler var.

- Paketteki çalıştırılabilir dosyaların, kendilerini nereye
yerleştirmeleri gerektiğine karar vermelisiniz. Bu durum standarda
uyulmasını gerektiriyor. Onu da ftp.metu.edu.tr/pub/sunsite/docs/fhs
adresinden alınız.

- Programi yazdıktan sonra (ister çalıştırılabilir halde, isterseniz
kaynak kodu ile beraber dağitabiliyorsunuz) buna bir isim ve sürüm
numarası vermelisiniz. linux software map'in kullandigi standart şöyle :

paketinismi-X.Y.tgz

paket ismi birden cok kelimeden oluşuyorsa araya "_" ya da "-" karakteri
koyabilirsiniz. Paket isminden sonra sürüm numarasi getirin. X , major
sürümü, Y de minör sürümü belirtiyor. Aslinda sürüm numaralarinin
değiştirilmesi konusunda belirgin bir görüş ortada yok. Siz paketinizde
yapacağınız küçük degişikliklerde Y'yi , büyük değişikliklerde X'i
artirin. (tar.gz 'den pek hoşlanmıyorlar, kısaca .tgz soneki veriniz)

- Hazirladiginiz paketi LSM 'ye eklemek isterseniz önce pakete uygun bir
paketinismi.lsm dosyasi hazirlamaniz gerekiyor. (Bunun da standardi var,
bakınız sunsite.unc.edu:/pub/incoming/README :) Ardindan
paketinismi-X.Y.tgz ve paketinismi.lsm 'yi sunsite'taki /incoming
dizinine yüklemeniz gerekecek. sunsite'in yöneticileri paketinizi
inceleyip bulunması gereken dizine atıyorlar.

- GNU hakkında bilgiyi (burada heyecanlandım :-) www.fsf.org 'dan
alabilirsiniz, yanlız bir yansı adresi kullanin, fsf.org gayet yavaş
bir hatta sahip. www.gnu.org ile www.fsf.org aynı makina zaten.

- Birşeyler unuttum ama..

iyi çalışmalar,
görkem (sevgi, saygı, GNU ruhu)

> Guven Demir.
>
> Email: guven@compclub.itu.edu.tr
> HTTP : www.compclub.itu.edu.tr/~guven
>
>