ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
* [sisyphus] hotplug и пакетная запись  cd-r - просто вопpос
@ 2005-08-09 23:30 Arioch
  2005-08-10 21:00 ` [sisyphus] " Arioch
  0 siblings, 1 reply; 12+ messages in thread
From: Arioch @ 2005-08-09 23:30 UTC (permalink / raw)
  To: sisyphus

Кстати, а кто-нибудь должен автоматически грузить pktcddvd.ko ?

Хмм, а после его insmod появляются не файлы /dev/pktcdvd{0-3}, как вроде 
былов в udev 0.60, а некий файл /dev/pktcdvd/control - и как оно теперь 
должно дальше?




^ permalink raw reply	[flat|nested] 12+ messages in thread

* [sisyphus] Re: hotplug и пакетная запись  cd-r - просто вопpос
  2005-08-09 23:30 [sisyphus] hotplug и пакетная запись cd-r - просто вопpос Arioch
@ 2005-08-10 21:00 ` Arioch
  2005-08-11  8:29   ` Konstantin A. Lepikhov
  0 siblings, 1 reply; 12+ messages in thread
From: Arioch @ 2005-08-10 21:00 UTC (permalink / raw)
  To: sisyphus

Arioch пишет:

бага нужна? возможно один файл создает pktcdvd, а другой - UDEV ?




[root@localhost root]# service udftools start
Starting :
/dev/pktcdvd/cdwriter=/dev/hdc
[root@localhost root]# ls -l /dev/pkt*
brw-rw----  1 root disk 251, 0 Aug 11 00:39 /dev/pktcdvd0

/dev/pktcdvd:
total 0
lrwxrwxrwx  1 root root       11 Aug 11 00:39 0 -> ../pktcdvd0
brw-r-----  1 root root  251,  0 Aug 11 00:39 cdwriter
crw-rw----  1 root cdrom  10, 62 Aug 10 03:27 control

                 т.е. есть два файла одного устройства.
      теоретически, pktsetup создает /dev/pktcdvd/cdwriter и 0 должен
      ссылаться на него же. Если теперь service udftools stop (оно же
      pktsetup -d cdwriter) то все ок.
                 Теперь удаляем устройство, но не cdwriter,
      а фантом /dev/pktcdvd0

[root@localhost root]# pktsetup -d 0
[root@localhost root]# ls -l /dev/pkt*
total 0
brw-r-----  1 root root  251,  0 Aug 11 00:39 cdwriter
crw-rw----  1 root cdrom  10, 62 Aug 10 03:27 control


[root@localhost root]#  pktsetup -d cdwriter
ioctl: No such device or address
[root@localhost root]# ls -l /dev/pkt*
total 0
brw-r-----  1 root root  251,  0 Aug 11 00:39 cdwriter
crw-rw----  1 root cdrom  10, 62 Aug 10 03:27 control
[root@localhost root]#  pktsetup -d 251:0
ioctl: No such device or address


PS: хочется скрипт покорежить, как минимум чтобы не ссылался на 
несуществующую переменную $DESC

Есть простые способы определить, может ли драйв packetcdvd ?
cdrecord - м.б. слишком большая, да еще warning'ами кидается.

[root@localhost root]# cdrecord -checkdrive  dev=/dev/cdrom
Cdrecord-Clone 2.01a37 (i586-alt-linux-gnu) Copyright (C) 1995-2004 JЖrg 
Schilling
scsidev: '/dev/cdrom'
devname: '/dev/cdrom'
scsibus: -2 target: -2 lun: -2
Warning: Open by 'devname' is unintentional and not supported.
Linux sg driver version: 3.5.27
Using libscg version 'schily-0.8'.
Device type    : Removable CD-ROM
Version        : 0
Response Format: 2
Capabilities   :
Vendor_info    : 'QSI     '
Identifikation : 'CDRW/DVD SBW-242'
Revision       : 'UX10'
Device seems to be: Generic mmc2 DVD-ROM.
Using generic SCSI-3/mmc   CD-R/CD-RW driver (mmc_cdr).
Driver flags   : MMC-3 SWABAUDIO BURNFREE
Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R

Если я правильно понимаю, то чтобы можно было пакетно записывать - в 
посл. строчке должен присутствовать PACKET, а еще лучше MRW ?




^ permalink raw reply	[flat|nested] 12+ messages in thread

* [sisyphus] Re: hotplug и пакетная запись  cd-r - просто вопpос
  2005-08-10 21:00 ` [sisyphus] " Arioch
@ 2005-08-11  8:29   ` Konstantin A. Lepikhov
  2005-08-12 13:54     ` Arioch
  0 siblings, 1 reply; 12+ messages in thread
From: Konstantin A. Lepikhov @ 2005-08-11  8:29 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

Hi Arioch!

Thursday 11, at 01:00:41 AM you wrote:

> Arioch пишет:
> 
> бага нужна? возможно один файл создает pktcdvd, а другой - UDEV ?
багу на удефф. pktsetup, который вы кстати неправильно вызывали, не
виноват. Советую повнимательнее поизучать содержимое /etc/init.d/udftools
и /etc/sysconfig/udftools.

<...>
> PS: хочется скрипт покорежить, как минимум чтобы не ссылался на 
> несуществующую переменную $DESC
ага. это будет поправлено.

> 
> Есть простые способы определить, может ли драйв packetcdvd ?
> cdrecord - м.б. слишком большая, да еще warning'ами кидается.
все cdr/cdrw драйвы после 1998 года должны поддерживать packet writing. Но
в linux поддерживает packet writing только для cd-rw

> 
> Если я правильно понимаю, то чтобы можно было пакетно записывать - в 
> посл. строчке должен присутствовать PACKET, а еще лучше MRW ?
не факт, хотя мечтать не вредно ;)

-- 
WBR, Konstantin	      chat with ==>ICQ: 109916175
     Lepikhov,	      speak  to ==>JID: lakostis@jabber.org
aka L.A. Kostis       write  to ==>mailto:lakostis@pisem.net.nospam

...The information is like the bank... 			  (c) EC8OR


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [sisyphus] Re: hotplug и пакетная запись  cd-r - просто вопpос
  2005-08-11  8:29   ` Konstantin A. Lepikhov
@ 2005-08-12 13:54     ` Arioch
  2005-08-12 19:43       ` Konstantin A. Lepikhov
  0 siblings, 1 reply; 12+ messages in thread
From: Arioch @ 2005-08-12 13:54 UTC (permalink / raw)
  To: sisyphus

[-- Attachment #1: Type: text/plain, Size: 3215 bytes --]

Konstantin A. Lepikhov пишет:

Ни фига не понимаю. Наверноеночь потому что. Придётся приставать.

>>бага нужна? возможно один файл создает pktcdvd, а другой - UDEV ?
> багу на удефф.

done.

> pktsetup, который вы кстати неправильно вызывали, 

В каком месте ?

Почему не правильно?

Почему не виноват? Если программe просят о чем-то дурацком, то она
должна так и сказать. В консоль дураку-юзеру, и/или в логидля
администратора (на случай что ее скрипты вызывают неинтерактивно)
А если она вместо того начинает дурачкое делать - она виновата.

> Советую повнимательнее поизучать содержимое /etc/init.d/udftools
> и /etc/sysconfig/udftools.

Вряди внимательнее смогу - нет у меня старых ядер и DEVfs. :-)

...смотрю я на check_kernel() в первом файле, и думается мне, что с
апстримом мы порвали?  и хочется его как-то переписать через modinfo
как-нибудь по другому, но не так гвоздато.

А во втором файле я смотрю наDEVICES="/dev/hdc"
И тоже хочется без гвоздиков обойтись.
Например, чтобы для /dev/cdwriter автоматически создавался
/dev/pkt-cdwriter и желательно /media тоже в стороне не оставить.
Но тут придется решать, можно ли писать такой скрипт жестко под
kernel >=2.6.8, UDEV & HAL. Раз, вроде бы, скриптже жестко привязан
к AltLinux - наверное можно. И переназначить ее на /bin/bash


Непонятно, каким группам юзеров (и что это за группы?) должен даваться
доступ к дискам. Я вижу три группы:

zsh 28 % sudo /sbin/service udftools start
Starting :
/dev/pktcdvd/cdwriter=/dev/hdc
zsh 29 % ls -l /dev/pkt*
brw-rw----  1 root disk 251, 0 Авг 12 03:51 /dev/pktcdvd0

/dev/pktcdvd:
итого 0
lrwxrwxrwx  1 root root       11 Авг 12 03:51 0 -> ../pktcdvd0
brw-r-----  1 root root  251,  0 Авг 12 03:51 cdwriter
crw-rw----  1 root cdrom  10, 62 Авг 12 03:47 control

   // Кстати, init тоже от рута запускает сервисы при загрузке?

Судя по GID control и cdwriter, pktsetup должензапускаться от юзера, а
в результате запуска сервисом - юзер получит фиг с маслом (но тут UDEV
неожиданно подстилает pktcdvd0 ;)).


Кстати, скрипт сам загружает модуль pktcdvd.ko - по идее он тогда же и
выгружать его должен :-)



>>PS: хочется скрипт покорежить, как минимум чтобы не ссылался на 
>>несуществующую переменную$DESC
> 
> ага. это будет поправлено.

Заодно я бы вызывал pktcdvd черезaction, a la hotplug's *.rc, чтобы
"[ OK ]" рисовался.

См. в аттаче ;)

>>Есть простые способы определить, может ли драйв packetcdvd ?
>>cdrecord - м.б. слишком большая, даеще warning'ами кидается.
> 
> все cdr/cdrw драйвы после 1998 годадолжны поддерживать packet writing.

...и тётя Груня полезла разламывать ноутбук, чтобы узнать какого года
там резак, и сообщить это udftools :-/
Я ведь спрашивал про программный способ, правда?
Не нравится мне идея на каждый драйв запускать pktsetup.
Хочется, чтобы он запускался автоматом - но все-таки проверял, что драйв
поддерживает пакетную запись.

-------- запуск cdrtools skipped
>>Если я правильно понимаю, то чтобы можно было пакетно записывать - в 
>>посл. строчке должен присутствовать PACKET, а еще лучше MRW ?
> 
> не факт, хотя мечтать не вредно ;)

??? Что не факт? О чем мечтать ?





[-- Attachment #2: udftools --]
[-- Type: text/plain, Size: 5261 bytes --]

#! /bin/sh
#
# udftools
#     Call pktsetup to set up packet device associations
#
# chkconfig: 2345 99 01
# description: udftools packet writing
# processname: udftools
#
# Based on /etc/rc.d/scripts/idetune
# Based on udftools.init script from Debian unstable
# written by LAKostis <lakostis at altlinux.org>
###
###                --- 12 Aug 2005 ---
### modified by Arioch ( mailto:the_Arioch@nm.ru  xmpp:arioch@jabber.ru )
###   fixed: var $DESC was not initialised
###   fixed: /sbin/service added to usage help (TO DO: take it from $0 ?)
###   fixed: redudant if's and loops encapsulated into subroutines
###   fixed: screen output for start and stop is more pretty now (i think so)
###   TO DO: check_kernel() is not to be ALT-specific. Hows to do it in generic way?
###   TO DO: use /var/lock/subsys/udftools to say of it was we who insmod'ed 
###	     pktcdvd.ko, then rmmod it on service stop
###   TO DO: enumerate CD-ROMs instead of forcing user to tune $DEFAULTFILE
###   fixed? if any of numerous [un]mapping would fail - the whole script would fail
#
# Original Debian copyrights goes here
#
# Written and Copyright 2003 Richard Atterer <atterer<at>debian.org>, GPLv2.
# * Thanks to Aleksandar Topuzovic <aleksandar.topuzovic<at>fer.hr> for an
#   initial version of the script.
# * Thanks to Cyrille Chépélov <cyrille<at>chepelov.org> for additional
#   help with the specifics of 2.6 packet writing.
# * Thanks to Christopher Martin <christopher.martin<at>utoronto.ca>
#   for fixes to make things work on systems that have "no udev + new
#   interface" or "udev + old interface"

WITHOUT_RC_COMPAT=1

RETVAL=0
DESC="packet burning for CD-RW"

# Source function library.
. /etc/init.d/functions

# in ALTLinux only wks* and std26-* kernel have packet writing support
check_kernel()
{
		local flavor
		local kver
		local valid=0

		flavor=`/bin/uname -r|/bin/cut -d- -f2`
		kver=`kernelversion_minor`

		[ "$kver" -gt 5 ] && `egrep -qs '(std|wks)26' "$flavor"`
		[ "$kver" -eq 4 ] && `egrep -qs 'wks' "$flavor"`
		valid=$?
		echo "$valid"
}	

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DEFAULTFILE=/etc/sysconfig/udftools
DEVICES=""
NEWINTNAMES="0 1 2 3"
UDEVNAMES="/dev/pktcdvd/0 /dev/pktcdvd/1 /dev/pktcdvd/2 /dev/pktcdvd/3"
UDEV=""
NEWINT=""
PKTSETUP=/usr/bin/pktsetup

if test -e /dev/.devfsd; then
    OLDINTNAMES="/dev/pktcdvd/0 /dev/pktcdvd/1 /dev/pktcdvd/2 /dev/pktcdvd/3"
else
    OLDINTNAMES="/dev/pktcdvd0 /dev/pktcdvd1 /dev/pktcdvd2 /dev/pktcdvd3"
fi

### if test -f "$DEFAULTFILE"; then
###     # Read user settings
###     . "$DEFAULTFILE"
### fi
SourceIfNotEmpty "$DEFAULTFILE"
### is it supposed to override #PKTSETUP ?
### if no - next check better to be at top of the script - faster exit ;-)

[ -x "$PKTSETUP" ] || exit 0

[ "`check_kernel`" -eq 1 ] || exit 0

# Only execute modprobe if DEVICES set - avoid possible problems with
# the module for people who don't use packet writing.
if test -n "$DEVICES"; then
    modprobe pktcdvd || true
    if test -z "$NEWINT"; then # User did not set NEWINT, try auto-detection
        if [ `/sbin/kernelversion_minor` -eq 6 ] && [ `/bin/uname -r|/bin/cut -d- -f1|/bin/cut -d. -f3` -ge 8 ]; then
            NEWINT=true
        else
            NEWINT=false
        fi
    fi
    if test -z "$UDEV"; then # User did not set UDEV, try auto-detection
        if grep -E -q "^[^[:space:]]+ /dev tmpfs" /proc/mounts; then
            UDEV=true
        else
            UDEV=false
        fi
    fi
fi

ECHO_PREFIX="    "
if $NEWINT; then
    ECHO_PREFIX="$ECHO_PREFIX /dev/pktcdvd/"
fi

local_MapDrive() {  # $1 - new packet device,  $2 - corresponding block device
     action "$ECHO_PREFIX$1 ==> $2"   "$PKTSETUP \"$1\" \"$2\" "
     return $?
}

local_UnmapDrive() {  # $1 - packet device to detach from block device $2
     action "$ECHO_PREFIX$1 -X- $2"   "$PKTSETUP -d \"$1\" "
     return $?
}

local_DevicesLoop() {  # $1 - action-function
     local FN=$1
     local err_cnt=0
        if $NEWINT; then
            set $NEWINTNAMES
        else
            if $UDEV; then
                set $UDEVNAMES
            else
                set $OLDINTNAMES
            fi
        fi

	for DEVICE in $DEVICES; do
	    $FN "$1" "$DEVICE"   || err_cnt=1 # not supported by /bin/sh: $((err_cnt++))
	    shift
	done

        return $err_cnt
};

dostart() {
    if test -z "$DEVICES"; then
       echo -n "Not starting $DESC: No devices listed in $DEFAULTFILE" 
       echo_passed
    else
       echo "Starting $DESC:"
       local_DevicesLoop local_MapDrive
    fi
    RETVAL=$?
    return $RETVAL
}

dostop() {
    if test -z "$DEVICES"; then
        echo -n "Not stopping $DESC: No devices listed in $DEFAULTFILE" 
        echo_passed
    else
        echo "Stopping $DESC:"
        local_DevicesLoop local_UnmapDrive
    fi
    RETVAL=$?
    return $RETVAL
}

case "$1" in
    start) dostart;;
    stop)  dostop;;
    status) $PKTSETUP -s || true;;
    restart|force-reload) dostop; dostart;;
    *)
        msg_usage "/sbin/service ${0##*/} {start|stop|restart|force-reload|status}"
	RETVAL=1
esac

exit $RETVAL


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [sisyphus] Re: hotplug и пакетная запись  cd-r - просто вопpос
  2005-08-12 13:54     ` Arioch
@ 2005-08-12 19:43       ` Konstantin A. Lepikhov
  2005-08-13 11:02         ` Arioch
  0 siblings, 1 reply; 12+ messages in thread
From: Konstantin A. Lepikhov @ 2005-08-12 19:43 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

Hi Arioch!

Friday 12, at 05:54:50 PM you wrote:

много skip...

писать длинные и бесполезные changelog'и и я умею. По-существу, вы можете
внятно сформулировать что вас не устраивает? И почему эти баги адресованы
мне, а не в upstream?

-- 
WBR, Konstantin	      chat with ==>ICQ: 109916175
     Lepikhov,	      speak  to ==>JID: lakostis@jabber.org
aka L.A. Kostis       write  to ==>mailto:lakostis@pisem.net.nospam

...The information is like the bank... 			  (c) EC8OR


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [sisyphus] Re: hotplug и пакетная запись  cd-r - просто вопpос
  2005-08-12 19:43       ` Konstantin A. Lepikhov
@ 2005-08-13 11:02         ` Arioch
  2005-08-13 18:51           ` Konstantin A. Lepikhov
  0 siblings, 1 reply; 12+ messages in thread
From: Arioch @ 2005-08-13 11:02 UTC (permalink / raw)
  To: sisyphus

Konstantin A. Lepikhov пишет:

> писать длинные и бесполезные changelog'и и я умею. По-существу, вы можете
> внятно сформулировать что вас не устраивает? 

copy-paste стиль скрипта. один и тот же код в разных местах.

Вывод на экран выбивается из стиля остальных скриптов. Точнее ввыод на 
экран просто "абы что-нибудь"

Например на экран вывелось
  packet 1 = cdrom 1
 >>Вывалилась какая-то ошибка<<
  packet 2 = cdrom 2

Что это значит? какое из устройств не подключилось? А может быть все 
подключились - ведь скрипт заверщается успещно, $? = 0 ? Ошибка была - 
да и бог с ней, все равно успешно.

Первые два пункта - там не понятно что надо объяснять.


Что не устраивает по большому счету - я формулировал в самом письме.
Но их изменить не так просто, чтобы не нарушить совместимость (с кем? с 
чем?) - тут обсуждать надоть.





> И почему эти баги адресованы
> мне, а не в upstream?
А я не знаю, есть ли там upstream, не forkнулся ли этот скрипт в 
свободное плавание.
Учитывая check_kernel() намертво прибитое именно к Alt Linux - сомнительно.
Где искать этот апстрим ? какую Alt-специфику отрывать?
И зачем тогда багзилла и листы, если проще юзеров по апстримам 
разогнать? :-/




^ permalink raw reply	[flat|nested] 12+ messages in thread

* [sisyphus] Re: hotplug и пакетная запись  cd-r - просто вопpос
  2005-08-13 11:02         ` Arioch
@ 2005-08-13 18:51           ` Konstantin A. Lepikhov
  2005-08-14 14:23             ` [sisyphus] Re: hotplug, UDEV и пакетная запись cd-r Arioch
  0 siblings, 1 reply; 12+ messages in thread
From: Konstantin A. Lepikhov @ 2005-08-13 18:51 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

[-- Attachment #1: Type: text/plain, Size: 1482 bytes --]

Hi Arioch!

Saturday 13, at 03:02:47 PM you wrote:

> Konstantin A. Lepikhov пишет:
> 
> >писать длинные и бесполезные changelog'и и я умею. По-существу, вы можете
> >внятно сформулировать что вас не устраивает? 
> 
> copy-paste стиль скрипта. один и тот же код в разных местах.
напишите свой.

> 
> Вывод на экран выбивается из стиля остальных скриптов. Точнее ввыод на 
> экран просто "абы что-нибудь"
меня этот вывод устраивает.

> Первые два пункта - там не понятно что надо объяснять.
> 
> 
> Что не устраивает по большому счету - я формулировал в самом письме.
> Но их изменить не так просто, чтобы не нарушить совместимость (с кем? с 
> чем?) - тут обсуждать надоть.
такое ощущение, что вы свои письма пропускаете через какой-то фильтр,
затрудняющий их чтение. Я их просто не понимаю :) Так что выключите
фильтр, иначе я вас буду просто игнорировать или общаться только через
bugzilla.

<skip>
> >И почему эти баги адресованы
> >мне, а не в upstream?
> А я не знаю, есть ли там upstream, не forkнулся ли этот скрипт в 
> свободное плавание.
причем тут скрипт запуска pktsetup и upstream pktcdvd патча и вообще
поддержки packet writing в ядре? Еще раз, сформулируйте чего хотите, без
растекания.

-- 
WBR, Konstantin	      chat with ==>ICQ: 109916175
     Lepikhov,	      speak  to ==>JID: lakostis@jabber.org
aka L.A. Kostis       write  to ==>mailto:lakostis@pisem.net.nospam

...The information is like the bank... 			  (c) EC8OR

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [sisyphus] Re: hotplug, UDEV и пакетная запись  cd-r 
  2005-08-13 18:51           ` Konstantin A. Lepikhov
@ 2005-08-14 14:23             ` Arioch
  2005-08-14 17:54               ` Konstantin A. Lepikhov
  0 siblings, 1 reply; 12+ messages in thread
From: Arioch @ 2005-08-14 14:23 UTC (permalink / raw)
  To: sisyphus

Konstantin A. Lepikhov пишет:

> причем тут скрипт запуска pktsetup и upstream pktcdvd патча

Так апстрим - патча?
Письмо было из трех строк. Первые две - про скрипт. Третья- про
апстрим. Каким фильтром догадаться, что апстрим - патча,а не скрипта?

Ладно, забудем про апстрим ?

В любом случае, на SourceForge сайтанет, а trylinux.com помре.

>>>писать длинные и бесполезные changelog'и и я умею. По-существу, вы можете
>>>внятно сформулировать чтовас не устраивает? 
>>copy-paste стиль скрипта. один и тот же код в разных местах.
> напишите свой.

Совсем-совсем новый свой с чистого листа? Пока не могу.

Для этого нужно разобраться
  1) как существующий скрипт взаимодействует с системой
  2) какие средства системы можно использовать
И договориться
   Что вообще должна делать идеальная обвязка и что не должна.

Как пример вопроса:
  2.1) раз check_kernel() в скрипте привязано к Alt Linux - можно ли
посчитать, что и остальные функции скрипта можно привязывать к Альту?
Тем паче, что судя по sf.net, апстрим не обновлялся уже год как ?




Пока я могу только изменятьсуществующий скрипт, не радикально, чтобы не
отломать существующее взаимодействие (о котором в добавок не всегда знаю
- иногда только догадываюсь).

А также показывать на странные на мой взгляд моменты, чтобы
  а) узнать что я ничего не понимаю и именно так и должно быть (и почему)
  б) узнать, что это действительно неправильно, и как должно было быть

>>Вывод на экран выбивается из стиля остальных скриптов.Точнее ввыод на 
>>экран просто "абы что-нибудь"
> меня этот вывод устраивает.

Иными словами "понаехало тут юзеров, воображжают что дистр для них.
Брысь в апстрим (LFS) " :-/

> поддержки packet writing в ядре?

Я не могу разделить претензии между скриптом, pktsetup, UDEV и ядром.
Иногда могу предполагать, но не более.


Начну с начала. Медленно и детально.

1) Пакетная запись включается только в результате настройки руками.
Сделать ее через hotplug/hal/udev - пока не могу. Не хватает информации.
1.1) То же про /media - automount/submount/supermount/ivmon

2) pktsetup может отключить устройство, которое он не создавал. Тем
самым оставив повисший файлустройства. Это баг.

3) создается два файла устройства - видимо второй создается UDEV'ом при
загрузке pktcdvd.ko. Это, вероятно,баг в настройке UDEV.
Есть несколько вопросов на тему "что именно происходит", но пока обойдемся.

4) Если при отработке скриптапроизойдет ошибка - скрипт об этом не
сообщит ни вызывающей программе if any (вернет $? == 0 - якобы нет
ошибки), ни администратору влоги, ни юзеру (вывод на консоль туманна
даже если юзер из терминалазапустит скрипт руками, а отсутствие цветных
[ OK ] | [ FAILED ]  не даст разглядеть при автозапуске из /etc/rc?.d )
fixed

5) права на файлы - три разных группы
brw-r-----  1 root root  251,  0 Авг 12 03:51 cdwriter
crw-rw----  1 root cdrom  10, 62 Авг 12 03:47 control
brw-rw----  1 root disk 251, 0 Авг 12 03:51 /dev/pktcdvd0

Кто назначает права на control? UDEV rules или pktcdvd.ko ?
По крайней мере файл создается при загрузке модуля.
Ладно, mea culpa, пороюсь в правилах UDEV - найду.

Опять возникает "вечный вопрос" - какая группа из множества в /etc/group
за что отвечает? Я так понимаю, что включать-выключать пакетную запись
могут юзеры из группы cdrom, а вот читать и писать ( по версииUDEV ) -
юзеры из группы disk. Т.е. вечныйвопрос привнес сюда неразбериху.

про cdwriter (GID == 0, root) скажу ниже

6) дублирование кода в скрипте - неужели нужно объяснять почему это
плохо ???

7) скрипт может загрузить pktcdvd.ko при старте - но не выгрузитего при
останове. Это м.б. не очень важно - но не красиво. Интуитивно всегда
предполагаешь, что при остановке демона за ним все почищается и система
становится в таком же виде, как до запуска.

7.1) запуск pktcdvd.ko мне кажется еще одним доказательством, что скрипт
оторвался от оригинала и привязан к обычаям AltLinux (подробнее - ниже)

7.2) я понимаю логику грузить этот модуль в случае service udftools
start. Однако service udftools status, service udftools #--help и
service udftools stop - тоже его запускают, хотя он пpи такой команде
заведомо не нужен

8) раз уж скрипт привязан к обычаям AltLinux, то и справка (при запуске
без параметров) должна выводиться с использованием /sbin/service


------------

Теперь про права.

zsh 31 [1] % ls -l /usr/bin/pktsetup
-rwxr-xr-x  1 root root 6960 Янв 24  2005 /usr/bin/pktsetup

Т.е. pktsetup должен запускаться не от рута, а от любого пользователя в
системе.

zsh 43 % ls /dev/pktcdvd -l
crw-rw----  1 root cdrom 10, 62 Авг 14 17:28 control

Взаимодействие с ядром при этом разрешено только группе cdrom.

Права на /dev/pktcdvd/cdwriter даются пользователю (успешно)
запустившему pktsetup - любому изгруппы cdrom

Значит скрипт udftools ( а именно он запускает pktsetup ) предназначен
авторами-апстримщиками длязапуска от любого пользователя. Так ли это?
zsh 45 % ls -l /etc/init.d/udftools
-rwxr-xr-x  1 root root 5081 Авг 12 17:44 /etc/init.d/udftools

Именно так! Права - идентичныправам на сам pktsetup.
Правда, если бы апстрим привязывал пакетную запись к группе cdrom,
вероятно права были бы  -rwxr-xr-x root cdrom
Т.е. вероятно - эти права назначает UDEV. (проверил - действительно)

Однако в AltLinux скрипт должен запускаться от root'a - аначе не
отработает insmod
Это значит, что юзер не сможет воспользоваться диском - ему просто н
разрешат. Впрочем, если он вдруг входит в группу root, то сможет диск
читать.

Т.е. либо скрипт должен иметьвозможность запускаться
непривелигерованным юзером - либо после создания устройства ему нужно
делать chmod & chown


---------------  Теперь про UDEV:

<bdv@localhost:/etc/udev/rules.d>  zsh/2 13 [2] %     grep pkt *.rules
50-alt.rules:KERNEL=="pktcdvd", NAME="pktcdvd/control", GROUP="cdrom",
         MODE="0660"
50-alt.rules:KERNEL=="pktcdvd[0-9]*", SYMLINK+="pktcdvd/%n",
	GROUP="disk"

Исходя из этого, я думаю что:
   1) именно UDEV намеренно раздает разные права на cpntrol и на сам
диск.  Видимо, группа cdrom - это те, кто могут физически втыкать и
вытыкать диски. Кто такая группа disk - мне, юзеру, не известно :-(
Не понятно - почему группа ставится не cdwriter - ведь по сути это
запись дисков ? Это вопрос к UDEV (rider ?)

   2) тем не менее дублирующиеся блочные устройства создает не UDEV.
Вероятно /dev/pktcdvd0 создает pktcdvd.ko, а /dev/pktcdvd/cdwriter
создает pktsetup. Бага относится к кому-то из них, в зависимости от
взглядов автора/мейнтейнера кто их них должен создавать файл устройства.

Я зря поверил
> багу на удефф. pktsetup не виноват.








^ permalink raw reply	[flat|nested] 12+ messages in thread

* [sisyphus] Re: hotplug, UDEV и пакетная запись cd-r
  2005-08-14 14:23             ` [sisyphus] Re: hotplug, UDEV и пакетная запись cd-r Arioch
@ 2005-08-14 17:54               ` Konstantin A. Lepikhov
  2005-08-14 23:24                 ` Arioch
  0 siblings, 1 reply; 12+ messages in thread
From: Konstantin A. Lepikhov @ 2005-08-14 17:54 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

Hi Arioch!

Sunday 14, at 06:23:15 PM you wrote:

> Konstantin A. Lepikhov пишет:
> 
> >причем тут скрипт запуска pktsetup и upstream pktcdvd патча
> 
> Так апстрим - патча?
> Письмо было из трех строк. Первые две - про скрипт. Третья- про
> апстрим. Каким фильтром догадаться, что апстрим - патча,а не скрипта?
надо хотябы иногда следить за развитием ситуации и делать свои далеко
идущие выводы не на основе своих собственных умозаключений, а на чем-то
более осязаемом.

> 
> Ладно, забудем про апстрим ?
> 
> В любом случае, на SourceForge сайтанет, а trylinux.com помре.
есть packet-writing@ suse.de. 80% того, что вы тут понаписали, надо было
писать туда.

<skip>
> >>copy-paste стиль скрипта. один и тот же код в разных местах.
> >напишите свой.
> 
> Совсем-совсем новый свой с чистого листа? Пока не могу.
значит, сначала разберитесь, а потом уже предлагайте патчи в upstream и
мысли про скрипт. Еще раз - тот udftools, который есть в Сизифе, полностью
меня устраивает, т.к. я записываю диски с udf раз в месяц и скрипт мне это
сделать позволяет без особого гимора. Вы же тут растекаетесь по design,
про который не устраивает _лично вас_. Не устраивает - это opensource,
давайте патч в packet-writing@ и lkml@ на ядро, и когда он пройдет, патчи
на скрипты.

> Как пример вопроса:
>  2.1) раз check_kernel() в скрипте привязано к Alt Linux - можно ли
> посчитать, что и остальные функции скрипта можно привязывать к Альту?
нет, так считать нельзя.


> отломать существующее взаимодействие (о котором в добавок не всегда знаю
> - иногда только догадываюсь).
см. выше.

> Иными словами "понаехало тут юзеров, воображжают что дистр для них.
> Брысь в апстрим (LFS) " :-/
дистрибутив - для пользователей, сизиф - для разработчиков.

> Я не могу разделить претензии между скриптом, pktsetup, UDEV и ядром.
> Иногда могу предполагать, но не более.
увольте.

> 
> 
> Начну с начала. Медленно и детально.
увольте.

-- 
WBR, Konstantin	      chat with ==>ICQ: 109916175
     Lepikhov,	      speak  to ==>JID: lakostis@jabber.org
aka L.A. Kostis       write  to ==>mailto:lakostis@pisem.net.nospam

...The information is like the bank... 			  (c) EC8OR


^ permalink raw reply	[flat|nested] 12+ messages in thread

* [sisyphus] Re: hotplug, UDEV и пакетная запись   cd-r
  2005-08-14 17:54               ` Konstantin A. Lepikhov
@ 2005-08-14 23:24                 ` Arioch
  2005-08-15  8:11                   ` Konstantin A. Lepikhov
  0 siblings, 1 reply; 12+ messages in thread
From: Arioch @ 2005-08-14 23:24 UTC (permalink / raw)
  To: sisyphus

Konstantin A. Lepikhov пишет:

> надо хотябы иногда следитьза развитием ситуации 

Какой ситуации ?

По каждомy из множеств пакетов, входящих в сизиф и n^2
связок между парами пакетов? Просто на всякий случай, чтобы когда один
из них заинтересовал/понадобился - я уже все знал. Это, очевидно, не
реально.

Или вы прелагаете, если мне захотелось разобрaться в каком-нибудь пакете
- год посидеть в read-only, ожидая, что вдруг что-то полезное напишут?
Это, очевидно, не имеет практической пользы.

Красиво сказано - красивость за счет всеобъемлющей размытости, проще
говоря "обо всем и ни о чем"

> и делать свои далеко
> идущие выводы не на основе своих собственных умозаключений,

умозаключения и выводы - это практически синонимы.

Выражение красивое, но бессмысленное.

Более того, заметьте что я пытался не делать выводы, а задавaть вопросы.
Вы потребовали выводов. Здесь и сейчас. Немедленно.
Получив же выводы - безапелляционно морщите нос, что они сырые.

> а на чем-то
> более осязаемом.

Т.е. на умозаключениях Гуру, которыми им обычно некогда делиться 
(действительно некогда, даже когда спрашивают, тем более если молча 
ждать, вдруг они заговорят)?

> есть packet-writing@ suse.de. 80% того, что вытут понаписали, надо было
> писать туда.

Наконец конкретная информация. Спасибо, подумаю.

>>>>copy-paste стиль скрипта. один и тот же код в разных местах.
>>>напишите свой.
>>Совсем-совсем новый свой с чистого листа? Пока не могу.
> значит, сначала разберитесь,

Дошел до момента, когда нужно задавать вопросы.
Задал. Получил по рукам.

Разобраться во всем на свете - не возможно.
Тем более в одиночку, не задавая вопросов.
В том, в чем разобрался - написал.

> а потом уже предлагайте патчи в upstream 

Это в смысле, что я оборзел, если патчи в апстрим предлагаю ?
Или это в смысле, что АльтЛинуксу патчи со стороны не нужны ?

> давайте патч в packet-writing@ и lkml@ на ядро, и когда он пройдет, патчи
> на скрипты.

Проблемы с pktsetup и недоработки скрипта - вещи друг с другом не
связаные, параллельные . Единственно - что положены в один пакет.
Патчи на скрипты - не зависят от патчей на ядро. Никак. Нигде.

Зачем вы отвечаете, если не хотите читать?

А уж про такую мелочь, что для переделок ядра и переделок скриптов нужна
совсем разныя квалификация, даже упоминать странно.

В общем "заткнитесь и не отвлекайте. Идете разработайте построение
правильного 123-угольника"

> дистрибутив - для пользователей, сизиф - для разработчиков.
>

Почему-то мне кажется, что в дистрибутиве ALM2.4 будет тот же скрипт с
теми же приятностми. Если те же приятности повесить в багзиллу на ALM2.4
- изменит это их суть ?

>>Начну с начала. Медленно и детально.
> увольте.

А как красиво звучало...

>>>>> вы можете внятно сформулировать что вас не устраивает?
>>> сформулируйте чего хотите, без растекания.

А я взял и сформулировал, песню испортил.


Ладно, пусть будет общение через багзиллу.
Наверное, у него есть какие-то преимущества.








^ permalink raw reply	[flat|nested] 12+ messages in thread

* [sisyphus] Re: hotplug, UDEV и пакетная запись cd-r
  2005-08-14 23:24                 ` Arioch
@ 2005-08-15  8:11                   ` Konstantin A. Lepikhov
  2005-08-16 11:44                     ` Michael Shigorin
  0 siblings, 1 reply; 12+ messages in thread
From: Konstantin A. Lepikhov @ 2005-08-15  8:11 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

[-- Attachment #1: Type: text/plain, Size: 1819 bytes --]

Hi Arioch!

Monday 15, at 03:24:08 AM you wrote:

> Konstantin A. Lepikhov пишет:
> 
> >надо хотябы иногда следитьза развитием ситуации 
> 
> Какой ситуации ?
> 
> По каждомy из множеств пакетов, входящих в сизиф и n^2
> связок между парами пакетов? Просто на всякий случай, чтобы когда один
> из них заинтересовал/понадобился - я уже все знал. Это, очевидно, не
> реально.
нет, не надо передергивать. Я говорил только про packet writing.

> 
> Или вы прелагаете, если мне захотелось разобрaться в каком-нибудь пакете
> - год посидеть в read-only, ожидая, что вдруг что-то полезное напишут?
> Это, очевидно, не имеет практической пользы.
по-крайней мере, это будет на порядок полезнее.

> 
> Красиво сказано - красивость за счет всеобъемлющей размытости, проще
> говоря "обо всем и ни о чем"
тогда посмотрите на 2 своих предыдущих письма. Образец жалобы "обо всем и ни о
чем". Более детального и приземленного объяснения я так и не увидел.

> >а на чем-то
> >более осязаемом.
> 
> Т.е. на умозаключениях Гуру, которыми им обычно некогда делиться 
> (действительно некогда, даже когда спрашивают, тем более если молча 
> ждать, вдруг они заговорят)?
я не гуру.

> Дошел до момента, когда нужно задавать вопросы.
> Задал. Получил по рукам.
> 
> Разобраться во всем на свете - не возможно.
> Тем более в одиночку, не задавая вопросов.
> В том, в чем разобрался - написал.
то, что вы написали, значит что вы _вообще_ не разобрались в вопросе а
полезли с шашкой на баррикады. Так что лучше пишите такие отчеты в
bugzilla, она стерпит.

-- 
WBR, Konstantin	      chat with ==>ICQ: 109916175
     Lepikhov,	      speak  to ==>JID: lakostis@jabber.org
aka L.A. Kostis       write  to ==>mailto:lakostis@pisem.net.nospam

...The information is like the bank... 			  (c) EC8OR

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [sisyphus] Re: hotplug, UDEV и пакетная запись cd-r
  2005-08-15  8:11                   ` Konstantin A. Lepikhov
@ 2005-08-16 11:44                     ` Michael Shigorin
  0 siblings, 0 replies; 12+ messages in thread
From: Michael Shigorin @ 2005-08-16 11:44 UTC (permalink / raw)
  To: ALT Linux Sisyphus discussion list

On Mon, Aug 15, 2005 at 12:11:52PM +0400, Konstantin A. Lepikhov wrote:
> > Дошел до момента, когда нужно задавать вопросы.
> > Задал. Получил по рукам.
> > Разобраться во всем на свете - не возможно.
> > Тем более в одиночку, не задавая вопросов.
> > В том, в чем разобрался - написал.
> то, что вы написали, значит что вы _вообще_ не разобрались в
> вопросе а полезли с шашкой на баррикады. Так что лучше пишите
> такие отчеты в bugzilla, она стерпит.

А давайте всё-таки жить дружно?  Кажется, мой злобный характер
оказался ещё и заразительным :-(

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2005-08-16 11:44 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-08-09 23:30 [sisyphus] hotplug и пакетная запись cd-r - просто вопpос Arioch
2005-08-10 21:00 ` [sisyphus] " Arioch
2005-08-11  8:29   ` Konstantin A. Lepikhov
2005-08-12 13:54     ` Arioch
2005-08-12 19:43       ` Konstantin A. Lepikhov
2005-08-13 11:02         ` Arioch
2005-08-13 18:51           ` Konstantin A. Lepikhov
2005-08-14 14:23             ` [sisyphus] Re: hotplug, UDEV и пакетная запись cd-r Arioch
2005-08-14 17:54               ` Konstantin A. Lepikhov
2005-08-14 23:24                 ` Arioch
2005-08-15  8:11                   ` Konstantin A. Lepikhov
2005-08-16 11:44                     ` Michael Shigorin

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git