[Gelistirici] en bi son 2009 isosu?

Ozan Çağlayan ozan at pardus.org.tr
23 Nis 2009 Per 21:38:28 EEST


Onur Küçük wrote:

>  udev de floppy grubu olmamalı, pnp grubu floppy işini yapmalı aslında.
> Ozan ne dersin ?
>
>   
Mail uzun ama oldukça eğlenceli, bilgi dolu, hmhm lezzetli, ayrıca
okursanız çok acayip hediyeler kazanıcaksınız :)

--

udev'in actions.py'sinde elle grup adlarını falan değiştirdiğimiz için
aradan kaçan bazı
kurallarda, udev'in device yaratırken kullandığı bazı helper'larda
kalıntı grup isimleri kalıyor.
Örnek:

ozankde4 at laptop rules.d $ cd /lib/udev/rules.d/
ozankde4 at laptop rules.d $ grep -rHIn "floppy" *
50-udev-default.rules:67:KERNEL=="fd[0-9]", ACTION=="add",
ATTRS{cmos}=="?*", RUN+="create_floppy_devices -c -t $attr{cmos} -m %M
-M 0640 -G floppy $root/%k"

Görüldüğü gibi fd[0-9]* ismini match eden bir aygıt varsa,
create_floppe_devices betiği çağırılıyor ve -G ile floppy grup adı
veriliyor.
Büyük bir ihtimalle bu betikten dolayı o uyarı oraya düşüyor.

2008'de neden düşmüyordu, ya da düşüyordu da görmüyor muyduk bilmiyorum
ama açıklayabilecek bir fikrim var, 2009'da --enable-logging ekledim
configure parametrelerine bu uyarılar belki de hep vardı ancak bu sayede
syslog'a düşmeye başladılar belki de.

Örnek 2:

Benim kde4 laptopumda 2008+ depodaki udev olmasına rağmen ben de şunları
alıyorum bol bol:

Apr 23 21:15:59 laptop udevd[193]: lookup_group: specified group
'scanner' unknown
Apr 23 21:16:43 laptop last message repeated 18 times
Apr 23 21:16:53 laptop last message repeated 26 times

Aslında scanner grubu uzun zamandır yok, biz de zamanında baselayoutta
scanner'ı pnp ile değiştirmişiz mevcut kullanıcılarda.
Ancak udev inotify ile kuralları her tekrar yüklediğinde bu uyarı
düşüyor syslog'uma. Baktım, paketten çıkan kurallarda scanner ile
ilgili bir şey yok ancak:

ozankde4 at laptop rules.d $ grep -rHIn "GROUP=\"scanner" *
99-libsagem.rules:4:SYSFS{idVendor}=="079b", SYSFS{idProduct}=="005e",
MODE="666", GROUP="scanner"
99-libsagem.rules:5:SYSFS{idVendor}=="079b", SYSFS{idProduct}=="005f",
MODE="666", GROUP="scanner"
99-libsagem.rules:6:SYSFS{idVendor}=="079b", SYSFS{idProduct}=="0091",
MODE="666", GROUP="scanner"
99-libsagem.rules:7:SYSFS{idVendor}=="079b", SYSFS{idProduct}=="0092",
MODE="666", GROUP="scanner"
99-libsagem.rules:8:SYSFS{idVendor}=="079b", SYSFS{idProduct}=="0093",
MODE="666", GROUP="scanner"
99-libsagem.rules:9:SYSFS{idVendor}=="079b", SYSFS{idProduct}=="0094",
MODE="666", GROUP="scanner"
99-libsagem.rules:10:SYSFS{idVendor}=="079b", SYSFS{idProduct}=="0095",
MODE="666", GROUP="scanner"
99-libsagem.rules:11:SYSFS{idVendor}=="0924", SYSFS{idProduct}=="3cee",
MODE="666", GROUP="scanner"
99-libsagem.rules:12:SYSFS{idVendor}=="0924", SYSFS{idProduct}=="3cef",
MODE="666", GROUP="scanner"

Böyle bir kural var, nerden gelmiş hiçbir fikrim yok, pisi sf ile
arıyorum bulamıyor. Başka bir bilgisayarda, ya da farmda da
göremedim bu kuralı herhalde ben yükledim bir yerden bir şey denerken,
umarım birinizde daha yoktur bu dosya eğer varsa
ve bu scanner grubu ile ilgili uyarıyı alıyorsanız mutlaka haberdar
edin, bir paket kaçak bir şekilde sistemde kural oluşturuyor
demektir.


Sözün özü, udev actions.py'sinde grupları elle değiştirip pnp, pnpadmin,
vs. yapmaya halen sıcak bakmıyorum,
şekil A'da olduğu gibi her şey kuraldan ibaret değil, her udev sürümü
çıktığında grep ile grup adı avına çıkıp sed ile
düzeltmek bence hiç akıl karı değil.

Şu anda:

floppy->pnp
lp->pnp
cdrom->removable
usb->removable

dönüşümlerini yapıyoruz. Upstream'e uymadığımız zaman, udev dışındaki
paketlerden çıkan kurallarda da tüm paketçilerin
ava çıkıp bu dönüşümleri yapması lazım.

Sistem genelinde baktığımızda bu değişiklikleri revert edeceksek sanırım,

cups konfigürasyonu sırasında, pnp, pnpadmin yerine lp, lpadmin vermek,
YALI'da yeni kullanıcı eklerken gerekli değişiklikleri yapmak,
baselayout'ta 2008->2009 geçişi esnasında kullanıcı gruplarını migrate
etmek gerekiyor.

Korkutucu durabilir, özet geçtim, bu şekilde kalmasına benden 0.02Ykr,
düzeltelim dersek de depo derinliklerinde
CUPS'ta olduğu gibi özel grup adı verilerek bir şey yapıldıysa onları
belirlemek lazım.

Öperim,




Gelistirici mesaj listesiyle ilgili daha fazla bilgi