[Gelistirici] [paketler-commits] r58092 - in playground/ceyhun/applications/games/vitetris: . files

Bahadır Kandemir bahadir at pardus.org.tr
6 Oca 2009 Sal 14:39:21 EET


06 Oca 2009 Sal tarihinde, Ceyhun Asılkazancı şunları yazmıştı: 
> Also, I am waiting your solutions about "make" problem of this package
> Thanks.


İngilizce yanıtı devel listesine gönderdim, Türkçe'sini buraya da 
yazıyorum.

Paketi derlemeye çalıştığımda, beklediğim gibi hatayla karşılaştım. Hata 
metni şöyleydi:

In function 'open',
  inlined from 'mkinvitfile' at tty_socket.c:56:
    /usr/include/bits/fcntl2.h:51:
    error: call to '__open_missing_mode' declared with attribute error:
    open with O_CREAT in second argument needs 3 arguments

Hata, O_CREAT argümanı kullanıldıysa, open() fonksiyonunun üçüncü bir 
argüman alması gerektiğini söylüyor.

src/netw/tty_socket.c dosyasının 56. satırındaki koda baktığımda, GCC'nin 
şikayet ettiği gibi, O_CREAT argümanına sahip bir open() çağrısı gördüm.

Sonra open'ın man sayfasına (man 2 open) baktım ve "O_CREAT" kelimesini 
aradım, ve aşağıdaki açıklamayı gördüm:

  open'ın üçüncü argümanı, ikinci argümanda O_CREAT kullanıldıysa 
tanımlanmalıdır.

Hemen aşağısında, kullanılabilir değerlerin listesi bulunuyordu ve görünüşe 
göre bu değer, dosya yaratılırken dosyaya atanan ilk izin modlarıydı. 
Açılan (ya da yaratılan) dosyanın ne olduğunu bilmediğimden, 644 modu 
yeterli olacaktır dedim (sonuçta bir oyun). Kullanıcıdan gizlenmesi 
gereken bilgiler bulunuyorsa, farklı bir mod kullanılmalı elbette.

Dosyayı aşağıdaki gibi yamaladım, ve problem çözüldü.

diff -Naur vitetris-0.55.orig/src/netw/tty_socket.c 
vitetris-0.55/src/netw/tty_socket.c
--- vitetris-0.55.orig/src/netw/tty_socket.c    2009-01-06 
14:22:29.000000000 +0200
+++ vitetris-0.55/src/netw/tty_socket.c 2009-01-06 14:27:41.000000000 +0200
@@ -53,7 +53,7 @@
        char name[22];
        if (*this_tty || get_this_tty()) {
                getfname(name, this_tty);
-               invit_fd = open(name, O_CREAT | O_RDONLY | O_NONBLOCK);
+               invit_fd = open(name, O_CREAT | O_RDONLY | O_NONBLOCK, 
00644);
                chmod(name, S_IREAD | S_IWRITE | S_IWGRP | S_IWOTH);
        }
 }
-------------- sonraki bölüm --------------
A non-text attachment was scrubbed...
Name: kullanılamıyor
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
URL: <http://liste.pardus.org.tr/gelistirici/attachments/20090106/f2e57eb8/attachment-0002.pgp>


Gelistirici mesaj listesiyle ilgili daha fazla bilgi