From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Injected-Via-Gmane: http://gmane.org/ To: sisyphus@altlinux.ru From: Arioch Date: Fri, 12 Aug 2005 17:54:50 +0400 Message-ID: References: <20050811082918.GA10857@lks.home> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------070401020006010901080208" X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: 212.26.238.205 User-Agent: Mozilla Thunderbird 1.0.2 (X11/20050512) X-Accept-Language: ru-ru, ru In-Reply-To: <20050811082918.GA10857@lks.home> Sender: news Subject: [sisyphus] Re: hotplug =?koi8-r?b?ySDQwcvF1M7B0SDawdDJ09ggIGNkLXIgLSDQ0s/T?= =?koi8-r?b?1M8g18/QcM/T?= X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: ALT Linux Sisyphus discussion list List-Id: ALT Linux Sisyphus discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 12 Aug 2005 14:11:18 -0000 Archived-At: List-Archive: This is a multi-part message in MIME format. --------------070401020006010901080208 Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: quoted-printable Konstantin A. Lepikhov =D0=C9=DB=C5=D4: =EE=C9 =C6=C9=C7=C1 =CE=C5 =D0=CF=CE=C9=CD=C1=C0. =EE=C1=D7=C5=D2=CE=CF=C5= =CE=CF=DE=D8 =D0=CF=D4=CF=CD=D5 =DE=D4=CF. =F0=D2=C9=C4=A3=D4=D3=D1 =D0=D2= =C9=D3=D4=C1=D7=C1=D4=D8. >>=C2=C1=C7=C1 =CE=D5=D6=CE=C1? =D7=CF=DA=CD=CF=D6=CE=CF =CF=C4=C9=CE =C6= =C1=CA=CC =D3=CF=DA=C4=C1=C5=D4 pktcdvd, =C1 =C4=D2=D5=C7=CF=CA - UDEV ? > =C2=C1=C7=D5 =CE=C1 =D5=C4=C5=C6=C6. done. > pktsetup, =CB=CF=D4=CF=D2=D9=CA =D7=D9 =CB=D3=D4=C1=D4=C9 =CE=C5=D0=D2=C1= =D7=C9=CC=D8=CE=CF =D7=D9=DA=D9=D7=C1=CC=C9,=20 =F7 =CB=C1=CB=CF=CD =CD=C5=D3=D4=C5 ? =F0=CF=DE=C5=CD=D5 =CE=C5 =D0=D2=C1=D7=C9=CC=D8=CE=CF? =F0=CF=DE=C5=CD=D5 =CE=C5 =D7=C9=CE=CF=D7=C1=D4? =E5=D3=CC=C9 =D0=D2=CF=C7= =D2=C1=CD=CDe =D0=D2=CF=D3=D1=D4 =CF =DE=C5=CD-=D4=CF =C4=D5=D2=C1=C3=CB=CF= =CD, =D4=CF =CF=CE=C1 =C4=CF=CC=D6=CE=C1 =D4=C1=CB =C9 =D3=CB=C1=DA=C1=D4=D8. =F7 =CB=CF=CE=D3=CF= =CC=D8 =C4=D5=D2=C1=CB=D5-=C0=DA=C5=D2=D5, =C9/=C9=CC=C9 =D7 =CC=CF=C7=C9= =C4=CC=D1 =C1=C4=CD=C9=CE=C9=D3=D4=D2=C1=D4=CF=D2=C1 (=CE=C1 =D3=CC=D5=DE=C1=CA =DE= =D4=CF =C5=C5 =D3=CB=D2=C9=D0=D4=D9 =D7=D9=DA=D9=D7=C1=C0=D4 =CE=C5=C9=CE= =D4=C5=D2=C1=CB=D4=C9=D7=CE=CF) =E1 =C5=D3=CC=C9 =CF=CE=C1 =D7=CD=C5=D3=D4=CF =D4=CF=C7=CF =CE=C1=DE=C9=CE= =C1=C5=D4 =C4=D5=D2=C1=DE=CB=CF=C5 =C4=C5=CC=C1=D4=D8 - =CF=CE=C1 =D7=C9=CE= =CF=D7=C1=D4=C1. > =F3=CF=D7=C5=D4=D5=C0 =D0=CF=D7=CE=C9=CD=C1=D4=C5=CC=D8=CE=C5=C5 =D0=CF= =C9=DA=D5=DE=C1=D4=D8 =D3=CF=C4=C5=D2=D6=C9=CD=CF=C5 /etc/init.d/udftools= > =C9 /etc/sysconfig/udftools. =F7=D2=D1=C4=C9 =D7=CE=C9=CD=C1=D4=C5=CC=D8=CE=C5=C5 =D3=CD=CF=C7=D5 - =CE= =C5=D4 =D5 =CD=C5=CE=D1 =D3=D4=C1=D2=D9=C8 =D1=C4=C5=D2 =C9 DEVfs. :-) =2E..=D3=CD=CF=D4=D2=C0 =D1 =CE=C1 check_kernel() =D7 =D0=C5=D2=D7=CF=CD = =C6=C1=CA=CC=C5, =C9 =C4=D5=CD=C1=C5=D4=D3=D1 =CD=CE=C5, =DE=D4=CF =D3 =C1=D0=D3=D4=D2=C9=CD=CF=CD =CD=D9 =D0=CF=D2=D7=C1=CC=C9? =C9 =C8=CF=DE=C5= =D4=D3=D1 =C5=C7=CF =CB=C1=CB-=D4=CF =D0=C5=D2=C5=D0=C9=D3=C1=D4=D8 =DE=C5= =D2=C5=DA modinfo =CB=C1=CB-=CE=C9=C2=D5=C4=D8 =D0=CF =C4=D2=D5=C7=CF=CD=D5, =CE=CF =CE=C5 = =D4=C1=CB =C7=D7=CF=DA=C4=C1=D4=CF. =E1 =D7=CF =D7=D4=CF=D2=CF=CD =C6=C1=CA=CC=C5 =D1 =D3=CD=CF=D4=D2=C0 =CE=C1= DEVICES=3D"/dev/hdc" =E9 =D4=CF=D6=C5 =C8=CF=DE=C5=D4=D3=D1 =C2=C5=DA =C7=D7=CF=DA=C4=C9=CB=CF= =D7 =CF=C2=CF=CA=D4=C9=D3=D8. =EE=C1=D0=D2=C9=CD=C5=D2, =DE=D4=CF=C2=D9 =C4=CC=D1 /dev/cdwriter =C1=D7=D4= =CF=CD=C1=D4=C9=DE=C5=D3=CB=C9 =D3=CF=DA=C4=C1=D7=C1=CC=D3=D1 /dev/pkt-cdwriter =C9 =D6=C5=CC=C1=D4=C5=CC=D8=CE=CF /media =D4=CF=D6=C5 = =D7 =D3=D4=CF=D2=CF=CE=C5 =CE=C5 =CF=D3=D4=C1=D7=C9=D4=D8. =EE=CF =D4=D5=D4 =D0=D2=C9=C4=C5=D4=D3=D1 =D2=C5=DB=C1=D4=D8, =CD=CF=D6=CE= =CF =CC=C9 =D0=C9=D3=C1=D4=D8 =D4=C1=CB=CF=CA =D3=CB=D2=C9=D0=D4 =D6=C5=D3= =D4=CB=CF =D0=CF=C4 kernel >=3D2.6.8, UDEV & HAL. =F2=C1=DA, =D7=D2=CF=C4=C5 =C2=D9, =D3=CB=D2= =C9=D0=D4=D6=C5 =D6=C5=D3=D4=CB=CF =D0=D2=C9=D7=D1=DA=C1=CE =CB AltLinux - =CE=C1=D7=C5=D2=CE=CF=C5 =CD=CF=D6=CE=CF. =E9 =D0=C5=D2=C5= =CE=C1=DA=CE=C1=DE=C9=D4=D8 =C5=C5 =CE=C1 /bin/bash =EE=C5=D0=CF=CE=D1=D4=CE=CF, =CB=C1=CB=C9=CD =C7=D2=D5=D0=D0=C1=CD =C0=DA= =C5=D2=CF=D7 (=C9 =DE=D4=CF =DC=D4=CF =DA=C1 =C7=D2=D5=D0=D0=D9?) =C4=CF=CC= =D6=C5=CE =C4=C1=D7=C1=D4=D8=D3=D1 =C4=CF=D3=D4=D5=D0 =CB =C4=C9=D3=CB=C1=CD. =F1 =D7=C9=D6=D5 =D4=D2=C9 =C7= =D2=D5=D0=D0=D9: zsh 28 % sudo /sbin/service udftools start Starting : /dev/pktcdvd/cdwriter=3D/dev/hdc zsh 29 % ls -l /dev/pkt* brw-rw---- 1 root disk 251, 0 =E1=D7=C7 12 03:51 /dev/pktcdvd0 /dev/pktcdvd: =C9=D4=CF=C7=CF 0 lrwxrwxrwx 1 root root 11 =E1=D7=C7 12 03:51 0 -> ../pktcdvd0 brw-r----- 1 root root 251, 0 =E1=D7=C7 12 03:51 cdwriter crw-rw---- 1 root cdrom 10, 62 =E1=D7=C7 12 03:47 control // =EB=D3=D4=C1=D4=C9, init =D4=CF=D6=C5 =CF=D4 =D2=D5=D4=C1 =DA=C1=D0= =D5=D3=CB=C1=C5=D4 =D3=C5=D2=D7=C9=D3=D9 =D0=D2=C9 =DA=C1=C7=D2=D5=DA=CB=C5= ? =F3=D5=C4=D1 =D0=CF GID control =C9 cdwriter, pktsetup =C4=CF=CC=D6=C5=CE= =DA=C1=D0=D5=D3=CB=C1=D4=D8=D3=D1 =CF=D4 =C0=DA=C5=D2=C1, =C1 =D7 =D2=C5=DA=D5=CC=D8=D4=C1=D4=C5 =DA=C1=D0=D5=D3=CB=C1 =D3=C5=D2=D7=C9=D3= =CF=CD - =C0=DA=C5=D2 =D0=CF=CC=D5=DE=C9=D4 =C6=C9=C7 =D3 =CD=C1=D3=CC=CF= =CD (=CE=CF =D4=D5=D4 UDEV =CE=C5=CF=D6=C9=C4=C1=CE=CE=CF =D0=CF=C4=D3=D4=C9=CC=C1=C5=D4 pktcdvd0 ;)= ). =EB=D3=D4=C1=D4=C9, =D3=CB=D2=C9=D0=D4 =D3=C1=CD =DA=C1=C7=D2=D5=D6=C1=C5= =D4 =CD=CF=C4=D5=CC=D8 pktcdvd.ko - =D0=CF =C9=C4=C5=C5 =CF=CE =D4=CF=C7=C4= =C1 =D6=C5 =C9 =D7=D9=C7=D2=D5=D6=C1=D4=D8 =C5=C7=CF =C4=CF=CC=D6=C5=CE :-) >>PS: =C8=CF=DE=C5=D4=D3=D1 =D3=CB=D2=C9=D0=D4 =D0=CF=CB=CF=D2=C5=D6=C9=D4= =D8, =CB=C1=CB =CD=C9=CE=C9=CD=D5=CD =DE=D4=CF=C2=D9 =CE=C5 =D3=D3=D9=CC=C1= =CC=D3=D1 =CE=C1=20 >>=CE=C5=D3=D5=DD=C5=D3=D4=D7=D5=C0=DD=D5=C0 =D0=C5=D2=C5=CD=C5=CE=CE=D5=C0= $DESC >=20 > =C1=C7=C1. =DC=D4=CF =C2=D5=C4=C5=D4 =D0=CF=D0=D2=C1=D7=CC=C5=CE=CF. =FA=C1=CF=C4=CE=CF =D1 =C2=D9 =D7=D9=DA=D9=D7=C1=CC pktcdvd =DE=C5=D2=C5=DA= action, a la hotplug's *.rc, =DE=D4=CF=C2=D9 "[ OK ]" =D2=C9=D3=CF=D7=C1=CC=D3=D1. =F3=CD. =D7 =C1=D4=D4=C1=DE=C5 ;) >>=E5=D3=D4=D8 =D0=D2=CF=D3=D4=D9=C5 =D3=D0=CF=D3=CF=C2=D9 =CF=D0=D2=C5=C4= =C5=CC=C9=D4=D8, =CD=CF=D6=C5=D4 =CC=C9 =C4=D2=C1=CA=D7 packetcdvd ? >>cdrecord - =CD.=C2. =D3=CC=C9=DB=CB=CF=CD =C2=CF=CC=D8=DB=C1=D1, =C4=C1= =C5=DD=C5 warning'=C1=CD=C9 =CB=C9=C4=C1=C5=D4=D3=D1. >=20 > =D7=D3=C5 cdr/cdrw =C4=D2=C1=CA=D7=D9 =D0=CF=D3=CC=C5 1998 =C7=CF=C4=C1= =C4=CF=CC=D6=CE=D9 =D0=CF=C4=C4=C5=D2=D6=C9=D7=C1=D4=D8 packet writing. =2E..=C9 =D4=A3=D4=D1 =E7=D2=D5=CE=D1 =D0=CF=CC=C5=DA=CC=C1 =D2=C1=DA=CC=C1= =CD=D9=D7=C1=D4=D8 =CE=CF=D5=D4=C2=D5=CB, =DE=D4=CF=C2=D9 =D5=DA=CE=C1=D4= =D8 =CB=C1=CB=CF=C7=CF =C7=CF=C4=C1 =D4=C1=CD =D2=C5=DA=C1=CB, =C9 =D3=CF=CF=C2=DD=C9=D4=D8 =DC=D4=CF udftool= s :-/ =F1 =D7=C5=C4=D8 =D3=D0=D2=C1=DB=C9=D7=C1=CC =D0=D2=CF =D0=D2=CF=C7=D2=C1= =CD=CD=CE=D9=CA =D3=D0=CF=D3=CF=C2, =D0=D2=C1=D7=C4=C1? =EE=C5 =CE=D2=C1=D7=C9=D4=D3=D1 =CD=CE=C5 =C9=C4=C5=D1 =CE=C1 =CB=C1=D6=C4= =D9=CA =C4=D2=C1=CA=D7 =DA=C1=D0=D5=D3=CB=C1=D4=D8 pktsetup. =E8=CF=DE=C5=D4=D3=D1, =DE=D4=CF=C2=D9 =CF=CE =DA=C1=D0=D5=D3=CB=C1=CC=D3= =D1 =C1=D7=D4=CF=CD=C1=D4=CF=CD - =CE=CF =D7=D3=C5-=D4=C1=CB=C9 =D0=D2=CF= =D7=C5=D2=D1=CC, =DE=D4=CF =C4=D2=C1=CA=D7 =D0=CF=C4=C4=C5=D2=D6=C9=D7=C1=C5=D4 =D0=C1=CB=C5=D4=CE=D5=C0 =DA=C1=D0=C9= =D3=D8. -------- =DA=C1=D0=D5=D3=CB cdrtools skipped >>=E5=D3=CC=C9 =D1 =D0=D2=C1=D7=C9=CC=D8=CE=CF =D0=CF=CE=C9=CD=C1=C0, =D4= =CF =DE=D4=CF=C2=D9 =CD=CF=D6=CE=CF =C2=D9=CC=CF =D0=C1=CB=C5=D4=CE=CF =DA= =C1=D0=C9=D3=D9=D7=C1=D4=D8 - =D7=20 >>=D0=CF=D3=CC. =D3=D4=D2=CF=DE=CB=C5 =C4=CF=CC=D6=C5=CE =D0=D2=C9=D3=D5=D4= =D3=D4=D7=CF=D7=C1=D4=D8 PACKET, =C1 =C5=DD=C5 =CC=D5=DE=DB=C5 MRW ? >=20 > =CE=C5 =C6=C1=CB=D4, =C8=CF=D4=D1 =CD=C5=DE=D4=C1=D4=D8 =CE=C5 =D7=D2=C5= =C4=CE=CF ;) ??? =FE=D4=CF =CE=C5 =C6=C1=CB=D4? =EF =DE=C5=CD =CD=C5=DE=D4=C1=D4=D8 ? --------------070401020006010901080208 Content-Type: text/plain; name="udftools" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="udftools" #! /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 ### ### --- 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 g= eneric way? ### TO DO: use /var/lock/subsys/udftools to say of it was we who insmod= 'ed=20 ### pktcdvd.ko, then rmmod it on service stop ### TO DO: enumerate CD-ROMs instead of forcing user to tune $DEFAULTFI= LE ### 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 debian.org>, GPL= v2. # * Thanks to Aleksandar Topuzovic fer.hr> for a= n # initial version of the script. # * Thanks to Cyrille Ch=E9p=E9lov chepelov.org> for addition= al # help with the specifics of 2.6 packet writing. # * Thanks to Christopher Martin utoronto.ca> # for fixes to make things work on systems that have "no udev + new # interface" or "udev + old interface" WITHOUT_RC_COMPAT=3D1 RETVAL=3D0 DESC=3D"packet burning for CD-RW" # Source function library. =2E /etc/init.d/functions # in ALTLinux only wks* and std26-* kernel have packet writing support check_kernel() { local flavor local kver local valid=3D0 flavor=3D`/bin/uname -r|/bin/cut -d- -f2` kver=3D`kernelversion_minor` [ "$kver" -gt 5 ] && `egrep -qs '(std|wks)26' "$flavor"` [ "$kver" -eq 4 ] && `egrep -qs 'wks' "$flavor"` valid=3D$? echo "$valid" }=09 PATH=3D/sbin:/bin:/usr/sbin:/usr/bin DEFAULTFILE=3D/etc/sysconfig/udftools DEVICES=3D"" NEWINTNAMES=3D"0 1 2 3" UDEVNAMES=3D"/dev/pktcdvd/0 /dev/pktcdvd/1 /dev/pktcdvd/2 /dev/pktcdvd/3"= UDEV=3D"" NEWINT=3D"" PKTSETUP=3D/usr/bin/pktsetup if test -e /dev/.devfsd; then OLDINTNAMES=3D"/dev/pktcdvd/0 /dev/pktcdvd/1 /dev/pktcdvd/2 /dev/pktc= dvd/3" else OLDINTNAMES=3D"/dev/pktcdvd0 /dev/pktcdvd1 /dev/pktcdvd2 /dev/pktcdvd= 3" 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-detect= ion if [ `/sbin/kernelversion_minor` -eq 6 ] && [ `/bin/uname -r|/bin= /cut -d- -f1|/bin/cut -d. -f3` -ge 8 ]; then NEWINT=3Dtrue else NEWINT=3Dfalse 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=3Dtrue else UDEV=3Dfalse fi fi fi ECHO_PREFIX=3D" " if $NEWINT; then ECHO_PREFIX=3D"$ECHO_PREFIX /dev/pktcdvd/" fi local_MapDrive() { # $1 - new packet device, $2 - corresponding block d= evice action "$ECHO_PREFIX$1 =3D=3D> $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=3D$1 local err_cnt=3D0 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=3D1 # not supported by /bin/sh: $((e= rr_cnt++)) shift done return $err_cnt }; dostart() { if test -z "$DEVICES"; then echo -n "Not starting $DESC: No devices listed in $DEFAULTFILE"=20 echo_passed else echo "Starting $DESC:" local_DevicesLoop local_MapDrive fi RETVAL=3D$? return $RETVAL } dostop() { if test -z "$DEVICES"; then echo -n "Not stopping $DESC: No devices listed in $DEFAULTFILE"=20 echo_passed else echo "Stopping $DESC:" local_DevicesLoop local_UnmapDrive fi RETVAL=3D$? 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-reloa= d|status}" RETVAL=3D1 esac exit $RETVAL --------------070401020006010901080208--