Bug#609736: please readd MAKEDEV calls to init.d.functions

2013-03-25 Thread Michael Gilbert
Hi,

Following tech committee decision #698556, I've reviewed and applied
Christoph's patch, and uploaded an nmu.  Please see attached.

Best wishes,
Mike


isdnutils.patch
Description: Binary data


Bug#609736: please readd MAKEDEV calls to init.d.functions

2013-02-18 Thread Neil McGovern
Control: severity 609736 serious

On Wed, Jan 09, 2013 at 07:45:11PM +0100, Sven Hartge wrote:
 I would be quite disappointed if I now have to add mknod statements to my
 own init script or the isdnutils init script or rc.local. (It is besides
 the point that I know how to do this. Some other user may lack the
 knowledge how to correctly create init scripts.)
 

For clarity - considering this used to work without having the above, I
consider this to be a release critical issue for Wheezy. Thus, it needs
fixing somehow or isdnutils will be removed from the release.

Neil McGovern
Release Manager
-- 


signature.asc
Description: Digital signature


Bug#609736: please readd MAKEDEV calls to init.d.functions

2013-01-09 Thread Sven Hartge
Christoph Biedl wrote:
 Rolf Leggewie wrote...

 For the time being the administrator needs to make sure the devices are 
 created.

 So you want each isdnutils user to manually hack some mknod statements 
 into the bootup scripts as you consider it a bad idea providing that as 
 package maintainer? Seriously?

To add my 2¢:

As a long time Debian user (and admin of some 100 servers) I always liked
the just works way of usage of Debian packages. Install a deb, tweak the
configuration and be done with it.

I would be quite disappointed if I now have to add mknod statements to my
own init script or the isdnutils init script or rc.local. (It is besides
the point that I know how to do this. Some other user may lack the
knowledge how to correctly create init scripts.)

Of course, nowadays device nodes should be created by udev, acting upon
events from the kernel. And most drivers are able to generate these
events. But the old ISDN4Linux code has never been ported and probably
never will.

So far this statement from Karsten Keil from 2004 (!) still stands:

,[ http://osdir.com/ml/linux.isdn.i4l.user/2004-05/msg00012.html
|  - what is the best way to get these device nodes?
|
| create it in the ISDN start script with mknod
`

Insisting upon the standpoint but the kernel/udev has to create the
device nodes will not solve the problem for this release at this time in
the freeze process.

The Debian Policy states: 

,
| 10.6 Device files
|
| [...]
|
| If a package needs any special device files that are not included in the
| base system, it must call MAKEDEV in the postinst script, after notifying
| the user (This notification could be done via a (low-priority) debconf 
message, or
| an echo (printf) statement.)
|
| [...]
`

I fail to find any policy which forces the use of udev or similar
mechanisms.

Of course, having the kernel/udev create the device nodes is technically
correct but horribly broken in this special case.

I'd like a little bit ugly but working solution, please without the need
for the user/admin to manually hack the init scripts.

Grüße,
Sven.


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#609736: please readd MAKEDEV calls to init.d.functions

2013-01-09 Thread Andreas Barth
* Sven Hartge (s...@svenhartge.de) [130109 19:43]:
 I fail to find any policy which forces the use of udev or similar
 mechanisms.

udev isn't required. However, packages shouldn't break if udev is
installed (unless they conflict udev - which probably would zero the
installation base these days, but that's something else).



Andi


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#609736: please readd MAKEDEV calls to init.d.functions

2012-12-25 Thread Christoph Biedl
severity 609736 grave
retitle 609736 isdn device nodes are no longer created
tags 609736 patch
thanks
justification 609736 Renders package unusable

Sven Hartge wrote ...   *wave*

 In upload 1:3.9.20060704+dfsg.2-8 you removed the MAKEDEV call from
 init.d.functions but this causes isdnlog and vboxgetty to fail for me,
 complaining about missing /dev/isdnctrl0 and /dev/ttyI1.
 
 Unfortunately modprobe hisax isdn does _not_ create the necessary
 isdnctrl0 and ttyI* nodes in /dev so the MAKEDEV call is still necessary.
 (Very crude, I know, but it seems the kernel code does not create the
 needed events for udev.)

Part two of ISDN breakage after wheezy upgrade (part one was #696532).
Sorry this took a while, had to find hardware for a fresh install 
and using the stock Debian kernel first, just to make sure. No change
in the behaviour, though.

So: Unfortunately, the core issue of Sven's bug report remained
undealt with: The /dev/isdn* and /dev/ippp* nodes are not created any
longer, rendering the entire ISDN subsystem unusable, severity raised
accordingly.

The patch below restores the behaviour of squeeze with updates
regarding recognizing udev. That's not a nice one but it works.
Applies on the wheezy version of isdnutils (1:3.25+dfsg1-3wheezy1).

During the holidays I'll prepare an NMU for both issues, let me know 
soon if you plan to do an upload on your own. 

Christoph

commit 963e0f2bf35d4843dfa8c634f6c5b2a99060d007
Author: Christoph Biedl debian.a...@manchmal.in-ulm.de
Date:   Mon Dec 24 17:48:47 2012 +0100

Re-add MAKEDEV calls to init.d.functions. Closes: #609736

diff --git a/debian/control b/debian/control
index 7b02d83..992d4f6 100644
--- a/debian/control
+++ b/debian/control
@@ -18,7 +18,7 @@ Package: isdnutils-base
 Priority: optional
 Architecture: linux-any
 Pre-Depends: debconf (= 1.2.9) | debconf-2.0
-Depends: ${shlibs:Depends}, lsb-base (= 1.3-9ubuntu3), ${misc:Depends}
+Depends: ${shlibs:Depends}, lsb-base (= 1.3-9ubuntu3), makedev, 
${misc:Depends}
 Suggests: ipppd, isdnlog, isdnutils-doc, isdnutils-xtools, isdnvboxserver, 
isdnvboxclient
 Description: ISDN utilities - minimal set
  This package provides the basic set of ISDN utilities needed to make use
diff --git a/debian/init.d.functions b/debian/init.d.functions
index 1979cab..00d50cb 100644
--- a/debian/init.d.functions
+++ b/debian/init.d.functions
@@ -80,15 +80,26 @@ check_isdncards() {
 if $isdncards_unchecked; then
isdncards_unchecked=false
 
-   # see discussion in bug 609736 regarding use of if and ln in the next 
three lines
-   if [ ! -e /dev/isdnctrl -a -e /dev/isdnctrl0 ]; then
-   ln -sf /dev/isdnctrl0 /dev/isdnctrl
-   fi
-
if [ -e /dev/isdninfo ]; then
ISDNINFO=/dev/isdninfo
elif [ -e /dev/isdn/isdninfo ]; then
ISDNINFO=/dev/isdn/isdninfo
+   elif [ -d /dev/.udev/ ] || [ -d /run/udev/ ] ; then
+   # udev is running
+   old_pwd=$(pwd)
+   cd /dev
+   WRITE_ON_UDEV=1 /sbin/MAKEDEV isdnmodem isdnbri dcbri isdn-io 
isdn-tty isdn-ippp
+   cd $old_pwd
+   if [ -e /dev/isdninfo ]; then
+   ISDNINFO=/dev/isdninfo
+   elif [ -e /dev/isdn/isdninfo ]; then
+   ISDNINFO=/dev/isdn/isdninfo
+   fi
+fi
+
+   # see discussion in bug 609736 regarding use of if and ln in the next 
three lines
+   if [ ! -e /dev/isdnctrl -a -e /dev/isdnctrl0 ]; then
+   ln -sf /dev/isdnctrl0 /dev/isdnctrl
fi
 
 if [ -z $ISDNINFO ]; then


signature.asc
Description: Digital signature


Bug#609736: please readd MAKEDEV calls to init.d.functions

2012-12-25 Thread Christoph Biedl
Christoph Biedl wrote...

 During the holidays I'll prepare an NMU for both issues, let me know 
 soon if you plan to do an upload on your own. 

Um, hold it. In the meantime I also found an upgrade issue and
segmentation faults in isdnlog. But for now, some family issues
require for attention.

Christoph


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#609736: please readd MAKEDEV calls to init.d.functions

2011-01-12 Thread Rolf Leggewie


  
  
Hallo Sven,

On 12.01.2011 08:50, Sven Hartge wrote:

  In upload 1:3.9.20060704+dfsg.2-8 you removed the MAKEDEV call from
init.d.functions but this causes isdnlog and vboxgetty to fail for me,
complaining about missing /dev/isdnctrl0 and /dev/ttyI1.



The calls were obviously removed on purpose, I'm sure you were aware
of that.  We as isdnutils maintainers feel that it's the kernel's
job and specifically the drivers' jobs to create the device nodes. 
Please report a new ticket against the isdn4linux part of the
kernel.  It would be cool if you let me know the ticket number so
that I can follow it.

I will leave this ticket open to document the necessary steps the
users have to take.  Depending on the kernel team's reaction I may
also consider other options to make sure things are working as
expected.  Overall, we feel that this is not really an isdnutils
issue, though, but should be dealt with elsewhere.


  Additionally the following code should IMHO be changed to use "-sf" to not
fail if the link already exists:

91 if [ ! -e /dev/isdnctrl ]; then
92 cd /dev  ln -sf isdnctrl0 isdnctrl
93 fi



Thank you for this suggestion.  But I don't quite understand the
need to force the creation.  That's what the if-part is for, isn't
it?

Regards

Rolf


PS: I hope this one goes out as plaintext and not HTML.  TB is
getting too smart for its own good lately.
  




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org



Bug#609736: please readd MAKEDEV calls to init.d.functions

2011-01-12 Thread Sven Hartge
On 12.01.2011 16:22, Rolf Leggewie wrote:
 Hallo Sven,
 
 On 12.01.2011 08:50, Sven Hartge wrote:
 In upload 1:3.9.20060704+dfsg.2-8 you removed the MAKEDEV call from
 init.d.functions but this causes isdnlog and vboxgetty to fail for me,
 complaining about missing /dev/isdnctrl0 and /dev/ttyI1.
 
 The calls were obviously removed on purpose, I'm sure you were aware of
 that.  We as isdnutils maintainers feel that it's the kernel's job and
 specifically the drivers' jobs to create the device nodes.  Please
 report a new ticket against the isdn4linux part of the kernel.  It would
 be cool if you let me know the ticket number so that I can follow it.

I know, the kernel (and udev) should create them, unfortunately i4l is
deprecated and was never ported to use sysfs, so udev does not create
any devices.

And from the (sad) state of ISDN in the kernel I am guessing, nobody
will port the code to sysfs. I even found discussions with Karsten Keil
concerning this matter on the i4l-list as back as the days of Linux
2.6.6 in 2004 (!!).

Have look at the following thread:
http://osdir.com/ml/linux.isdn.i4l.user/2004-05/msg00011.html

Quote:

| - what is the best way to get these device nodes?
create it in the ISDN start script with mknod

(Answer from Karsten Keil)

The kernel maintainers even removed i4l for a short period of time (see
bug#588551) and I am afraid to submit a bug concerning this issue,
because this might cause another removal from the kernel in Debian.

(Note: you might want to document the fact one has to blacklist the
mISDN drivers like hfcpci you want to use hisax, since the mISDN ones
get automatically loaded and the i4l ones don't.)

 I will leave this ticket open to document the necessary steps the users
 have to take.  Depending on the kernel team's reaction I may also
 consider other options to make sure things are working as expected. 
 Overall, we feel that this is not really an isdnutils issue, though, but
 should be dealt with elsewhere.

Question is: where?

As is, the packages don't work, since the needed devices are missing and
nobody creates them.

 Additionally the following code should IMHO be changed to use -sf to not
 fail if the link already exists:

 91 if [ ! -e /dev/isdnctrl ]; then
 92 cd /dev  ln -sf isdnctrl0 isdnctrl
 93 fi
 
 Thank you for this suggestion.  But I don't quite understand the need to
 force the creation.  That's what the if-part is for, isn't it?

During the state of my system without any ISDN device nodes, the start
script for isdnlog etc. complained about an already existing symlink.

This is because -e dereferences the symlink and if the target is not
available, it will fail. So the correct solution here is not to use ln
-sf but to use [ -L /dev/isdnctl ] to check for the existance of the
symlink.

 
 PS: I hope this one goes out as plaintext and not HTML.  TB is getting
 too smart for its own good lately.

Was in HTML.

Grüße,
Sven.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#609736: please readd MAKEDEV calls to init.d.functions

2011-01-12 Thread Rolf Leggewie
Hallo Sven,

Jan-Michael and I are discussing the options to properly create the
devices.  We both feel it's better to try to fix the issue in udev or
the kernel.  Jan-Michael may be able to put forth a bit of effort to
that end to help the maintainers of those packages.

On 13.01.2011 00:11, Sven Hartge wrote:
 (Note: you might want to document the fact one has to blacklist the
 mISDN drivers like hfcpci you want to use hisax, since the mISDN ones
 get automatically loaded and the i4l ones don't.)

Will have a look.  I'm still learning all the i4l voodoo.  You may want
to open a separate ticket on this to make sure it won't be forgotten.

 As is, the packages don't work, since the needed devices are missing and
 nobody creates them.

ACK.  Eventually this will have to be dealt with somewhere.  My hope is
we can get rid of hacks as much as possible to get isdnutils into a
maintainable state.

 Additionally the following code should IMHO be changed to use -sf to not
 fail if the link already exists:

 91 if [ ! -e /dev/isdnctrl ]; then
 92 cd /dev  ln -sf isdnctrl0 isdnctrl
 93 fi

 Thank you for this suggestion.  But I don't quite understand the need to
 force the creation.  That's what the if-part is for, isn't it?
 
 During the state of my system without any ISDN device nodes, the start
 script for isdnlog etc. complained about an already existing symlink.
 
 This is because -e dereferences the symlink and if the target is not
 available, it will fail. So the correct solution here is not to use ln
 -sf but to use [ -L /dev/isdnctl ] to check for the existance of the
 symlink.

Well, -L is not the solution.  It would break when the file exists but
is not a symbolic link.  I've come to the conclusion that quite
surprisingly, your original suggestion is likely the way to go.  This is
due to the dereferencing you mentioned.  Essentially, there's three
possible states.

 a) file does not exist - create
 b) file exists and points to valid target - do nothing
 c) file exists but is a dangling symlink - overwrite

I will update the package that is waiting for sponsorship.

Regards

Rolf



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#609736: please readd MAKEDEV calls to init.d.functions

2011-01-11 Thread Sven Hartge
Package: isdnutils-base
Version: 1:3.9.20060704+dfsg.2-8
Severity: normal

Hi ISDN maintainers.

In upload 1:3.9.20060704+dfsg.2-8 you removed the MAKEDEV call from
init.d.functions but this causes isdnlog and vboxgetty to fail for me,
complaining about missing /dev/isdnctrl0 and /dev/ttyI1.

Unfortunately modprobe hisax isdn does _not_ create the necessary
isdnctrl0 and ttyI* nodes in /dev so the MAKEDEV call is still necessary.
(Very crude, I know, but it seems the kernel code does not create the
needed events for udev.)

The missing MAKEDEV, cause for 607387 can be resolved by adding a dependency
on makedev. This should create to harm since both isdnutils-base and
makedev are Priority: extra.

Additionally the following code should IMHO be changed to use -sf to not
fail if the link already exists:

91 if [ ! -e /dev/isdnctrl ]; then
92 cd /dev  ln -sf isdnctrl0 isdnctrl
93 fi

Grüße,
Sven.

-- System Information:
Debian Release: 6.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (200, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686 (SMP w/1 CPU core)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages isdnutils-base depends on:
ii  debconf [debconf-2.0] 1.5.37 Debian configuration management sy
ii  libc6 2.11.2-7   Embedded GNU C Library: Shared lib
ii  libncurses5   5.7+20100313-5 shared libraries for terminal hand
ii  lsb-base  3.2-26 Linux Standard Base 3.2 init scrip

isdnutils-base recommends no packages.

Versions of packages isdnutils-base suggests:
pn  ipppdnone  (no description available)
ii  isdnlog  1:3.9.20060704+dfsg.2-8 ISDN utilities - connection logger
pn  isdnutils-docnone  (no description available)
pn  isdnutils-xtools none  (no description available)
ii  isdnvboxclient   1:3.9.20060704+dfsg.2-8 ISDN utilities - answering machine
ii  isdnvboxserver   1:3.9.20060704+dfsg.2-8 ISDN utilities - answering machine

-- Configuration Files:
/etc/isdn/init.d.functions changed [not included]

-- debconf-show failed



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#609736: please readd MAKEDEV calls to init.d.functions

2011-01-11 Thread Rolf Leggewie


  
  
On 12.01.2011 08:50, Sven Hartge wrote:

  Package: isdnutils-base
Version: 1:3.9.20060704+dfsg.2-8
Severity: normal

Hi ISDN maintainers.

In upload 1:3.9.20060704+dfsg.2-8 you removed the MAKEDEV call from
init.d.functions but this causes isdnlog and vboxgetty to fail for me,
complaining about missing /dev/isdnctrl0 and /dev/ttyI1.



Sven,

thank you very much for your continued testing and bug reporting. 
Much appreciated.  I hope you'll bear with us through even more
expected breakage in the future.  Jan-Michael and I agreed that
creation of the devices should not be the responsibility of
isdnutils.  I'll revisit the issue together with Jan-Michael.  My
ISDN system is about 8.000 miles away now so that makes it more
difficult for me to do extensive testing.

Michael, please contact me in chat when you have the time, OK?

Regards

Rolf
  




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org