Re: possible bug in gettext (autotools?) or in some packages

2001-05-03 Thread Henrique M Holschuh
Yo KoV,

On Thu, 03 May 2001, Gustavo Noronha Silva wrote:
 I noticed while creating a package for a gettext enabled program, that
 make install was installing the .mo file as progname@INSTOBJEXT@

Well, file important bugs against those packages, telling them to fix their
packages to refresh and use the debian-provided gettext instead of keeping
the cruft from upstream around.

Any Debian developer that needs to do this and doesn't know how, please feel
free to contact me. I had a lot of misadventures with gettext lately in
fetchmail, so I'm currently well-versed in the topic.

 I just changed po/Makefile.in.in to match:
 INSTOBJEXT=.mo
 instead of
 INSTOBJEXT= @INSTOBJEXT@

INSTOBJEXT doesn't even exist anymore in gettext 0.10.37...

 but I don't think that's clean enough...
You're right. It isn't :)

 comments?
Try installing the sid gettext package, and running gettextize -c -f in the
broken package's top source directory (don't forget to run aclocal,
autoheader and autoconf to rebuild the configure script using the updated
gettext macros, or else all hell breaks loose). It just might fix the whole
crap in one go, if the makefiles are sane. Be warned that the new gettext
does not tolerate much of the broken crap people sometimes toss into .po
files as the old one did (which is a Good Thing, btw).

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpVpTCqFe86B.pgp
Description: PGP signature


Re: debbugs can now send bug mails to someone different than the maintainer

2001-05-01 Thread Henrique M Holschuh
On Tue, 01 May 2001, Brian May wrote:
  Henrique == Henrique M Holschuh [EMAIL PROTECTED] writes:
 Henrique Fetchmail is not the best tool for dealing with the
 Henrique Debian developer mail accounts, plain and simple.
 
 Why not?

Because there isn't a IMAP or POP3 server at the other side... and using
shell scripts is easier and faster when doing BSMTP-style delivery over an
ssh tunnel.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpgmOoKHUYP9.pgp
Description: PGP signature


Re: debbugs can now send bug mails to someone different than the maintainer

2001-04-30 Thread Henrique M Holschuh
On Mon, 30 Apr 2001, Rahul Jain wrote:
 On Mon, Apr 30, 2001 at 09:06:01PM -0400, Matt Zimmerman wrote:
  The client side of fetchmail will (by default) feed each message into your
  local MTA for delivery, but you'll have to figure a way to get the mail 
  into it
  from the remote mailbox without IMAP or POP services (which I don't think
  master provides).  I think someone was working on ETRN recently, which is 
  also
  supported by fetchmail...
 
 hrm... having fetchmail ssh in and grab the mail directly from the spool would
 be kind of cool... :)

Well, I am the fetchmail maintainer and I use a non-fetchmail based (but ssh
and cron-based) solution.  Make of that what you will. 

I think you could also ask Branden what he thinks of using fetchmail to get
mail from master.d.o... he should have some colorful thoughts on the issue,
I believe :-P  Why, he might even have wounded my feelings when he made
those comments in IRC, were I already NOT using fetchmail to get mail
from master.d.o   ;-)

Fetchmail is not the best tool for dealing with the Debian developer mail
accounts, plain and simple.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpPLl7yfxK6Q.pgp
Description: PGP signature


Re: RFC: English translation list

2001-04-29 Thread Henrique M Holschuh
On Sun, 29 Apr 2001, Joey Hess wrote:
 What I am proposing is a new list, similar in scope to the other l10n
 lists, where developers can bring text they need a clean English version
 of (be the original in some other language, or their best try in
 English), and get a good English translation back.

I think that would be a very good idea. I've found myself needing grammar
help from time to time (and I am also known to do terrible things to
prepositions :P), and I'm sure many other non-native English speakers find
themselves in such trouble often.

Also, I've seen very criptic/bogus text in package descriptions, README
files and manpages... and I'm not even that good at English, so I'm pretty
sure I didn't notice half of them.  A central place to exert some help in
that area would benefit Debian, I think.

 I'm offline so I'm not sure what a proper list name would be, probably
 either debian-english or debian-i18n-english, or debian-l10n-english or
 whatever parallels the other lists for other language translations.

I'd prefer -18n-english or -10n-english, to avoid a dangerous parallel to
the various debian-language lists used for user support.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh




Re: ITP: tads

2001-01-09 Thread Henrique M Holschuh
On Tue, 09 Jan 2001, Daniel Schepler wrote:

 I'm planning to package TADS, which is a system for writing or playing
 text games similar to the Z-code system (inform, xzip/frotz/etc).  The
 license is non-free.

You should probably package the runtime and the compiler in separate binary
packages...

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh




Re: Bug#81397: [authorization] fails silently for normal users, cannot start server

2001-01-06 Thread Henrique M Holschuh
 This is my answer to a private mail (it seems...) I don't want to talk
 about these in private. Please note the reason why I carried this bug
 report to the list.

Well, sorry but now you're in MY non-permanent (YET) shitlist for violating
netiquette, and I'll have to acknowledge that Branden Was Right (tm) about
you.

Hint: next time, ASK FOR PERMISSION FIRST before you do a public posting of
private email. Geez. You'd have gotten it, but it is a matter of principle
to ask first.

 On Sat, Jan 06, 2001 at 02:59:31PM -0200, Henrique de Moraes Holschuh wrote:
  You've already gotten into Branden's permanent shitlist. Please be more
  reserved on ANYTHING you do that might even remotely involve his packages,
  ok? We don't need him going psycothic again.

Branden, please understand this for what it is meant: Branden does not like
to be poked. He seems to like even less to be poked by you. Please don't
poke him, he'll bite back and we get to watch the fallout.

 What is this supposed to mean? There are many users here suffering from this
 problem since this is a multi-user system and none of them have the time
 to learn the peculiarities of x. They, and I, just want to use this stuff
 and I moved the system to unstable because it seemed we needed some of
 the bug fixes...

It means your X *may* be configured not to allow anyone but root to execute
the wrapper. Check the damn Xwrapper.config file. I even said that over
private mail to be nicer and not bother this list with yet another redudant
reply...

The Xrapper.config issue has been documented in a number of bug reports
(search the BTS), and probably many -user and -devel posts (search the list
archives, mind the sometimes quirky search engine).

 of a particular developer. On the contrary, every developer should be required
 to deal with every bug report in an objective manner. [*] Which I think is the

Most developers (if not all of them) deal with bug reports in an objective
manner, or don't deal with them at all (because they're MIA or are very
short on time).

 Okay, i'll check that. Hadn't found that myself. Thanks. I'm downgrading X
 now, but I might need this information.

FYI I'm running up-to-date sid X packages here, and they seem to work just
fine.

  This was discussed in d-user, d-devel and numerous bug reports to the point
  that Branden would go Overfiend on *anyone* asking it again.
 
 I've never seen this mentioned, nor is it written down anywhere and I don't
 think that mailing search stuff really works... And I wouldn't think I'd be

That mailing search stuff has some weird problems, yes. As for not being
written down anywhere, the postinst asks you about it. I think there is a
manpage for Xwrappers.config, but it's not installed in my system.

 able to find it with this much info (i can't start x as a user). Point
 me to an FAQ, and I will understand it then. I thought this might be some

Hmm... why didn't you look at what X asks during configure phase, as well as
the files in /etc/X11?  That's usually a very good first check before
posting a question.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpiFdiMiBngq.pgp
Description: PGP signature


Re: Bug#81397: [authorization] fails silently for normal users, cannot start server

2001-01-06 Thread Henrique M Holschuh
On Sat, 06 Jan 2001, Eray Ozkural wrote:
 On Sat, Jan 06, 2001 at 04:39:43PM -0200, Henrique M Holschuh wrote:
  Branden, please understand this for what it is meant: Branden does not like
  to be poked. He seems to like even less to be poked by you. Please don't
  poke him, he'll bite back and we get to watch the fallout.
  
 
 Great kiss ass.

Flamewar taken to private mail. Move along people, there's nothing to see
here (I hope, that is).

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpEW4AvZmpdc.pgp
Description: PGP signature


Re: Bug#81397: [authorization] fails silently for normal users, cannot start server

2001-01-06 Thread Henrique M Holschuh
Hi Erik!

On Sat, 06 Jan 2001, Erik Hollensbe wrote:
 I don't quite get this... This list is moderated. Is it not too much for

Not that I know of.

 I have a hard time finding the logic in wasting your time complaing about
 how your time is being wasted. What does this solve?

Humans are hardly logic beings. And you're right, it does solve nothing,
which is probably the reason why a lot of people do it at least once :)

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh




Re: Linux Progress Patch for Debian available!

2000-12-31 Thread Henrique M Holschuh
On Sun, 31 Dec 2000, Erik wrote:
 On Sun, Dec 31, 2000 at 09:16:33PM +0100, Bernd Eckenfels wrote:
 That patch has the ability for startup scripts to display messages to the
 screen (for such things as Initializing network, Initializing Sound, etc.
 
 I dont see why the same thing couldn't be used by the kernel drivers.

It can be done. Just keep dumping the kernel ringbuffer (the same one
accessed by dmesg) in a smart (and continuous) way while the system boots.

Apparently the Progress Patch can't go in debian unless the above hack is
included and made mandatory in the Debian packaging of the patch.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh




Re: RFC: fix for daemon start (2)

2000-09-14 Thread Henrique M Holschuh
On Wed, 13 Sep 2000, Miquel van Smoorenburg wrote:
 I like it, but why not fold this functionality in update-rc.d itself?
 update-rc.d --query ? And why not define update-rc.d --list as well..

Well, for starters I don't grok perl, and I wasn't about to let that little
detail stop me from writing the sample code :-)

Also, update-rc.d and initscriptquery don't share much in the way of common
code, I think. I don't see any major advantages in merging the two, not to 
mention that it would generate a new interface for update-rc.d...

By keeping the two scripts separate, we avoid increasing the complexity of
update-rc.d and we also keep the two interfaces independent of each other.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpkHs9pOdebR.pgp
Description: PGP signature


RFC: fix for daemon start (2)

2000-09-13 Thread Henrique M Holschuh
Hello everyone,

Here's an updated version of the RFC text, as well as a new version of the
initscriptquery reference script. The fragments.sh script is included just
for completeness, and was not modified.

Changelog:
 * fixed typos, updated documentation to an assertive tone
 * addressed rcS.d issue (I received no comments on this one, BTW)
 * handle multiple links per runlevel nicely
 * detect and block attempt to run initscriptquery at runlevel 0 or 6
 * address pre-depends/depends issue

Another small RFC dealing with administrative policy enforcement on the
start of initscripts will be sent in a few days. Due to the design of
initscriptquery, such policy enforcement could be done without any
additional changes to other packages.

There are no technical issues left for initscriptquery that I know of. It
should be now in its nearly final state.


RFC: Fix for initscripts being run out of their intended runlevel by
 package scripts (during package installs and upgrades).


Interface proposal for /usr/sbin/initscriptquery script:


Assumptions:
  Debian uses only sysvinit-compatible initscripts, stored in /etc/init.d/
  (currently true for debian, file-rc uses the same /etc/init.d/ scripts as
  sysvinit does).

  The unique identifier for an initscript is the initscript ID required by
  the update-rc.d command.

Documented Command Line Interface:
  /usr/sbin/initscriptquery [-q] initscript ID

  -q : Run initscriptquery in silent mode, errors are NOT reported to stderr
  initscript ID:  the update-rc.d identifier for the initscript

  Future versions to this script MUST be fully backwards compatible.

Documented behaviour of the initscriptquery script:

   stdin shall not be used (it is NOT an interactive script)
   stdout shall be used only to output usage information.
   stderr shall be used to output all error messages.
   
   Exit status codes:
0 - the initscript is allowed to be started
1 - the initscript is NOT allowed be started
2 - initscript ID unknown
3 - initscript ID known, but behaviour is undefined
4 - syntax error
  =5 - other error (usually means inconsistency in the underlining
initscript subsystem)

Verbose description of the exit status codes:

0 - the initscript is allowed to be started

sysvinit meaning: There is a non-dangling, executable S?? link in
the rc?.d directory for the given script ID and current runlevel.

Also, no other administrative reasons for not starting the init
scripts exist.

NOTE: If an initscript would be started at the S runlevel, it is
assumed that this should be true for all runlevels that don't
actually stop the initscript as well.

Desired behaviour: Call /etc/init.d/initscript as you'd have done
before the advent of initscriptquery

1 - the initscript is NOT allowed be started

sysvinit meaning: There is a non-dangling, executable K?? link (and
no S?? link) in the rc?.d directory for the given script ID and
current runlevel.

Or, an administrative reason prohibits starting the initscript.

Desired behaviour: Do not run the initscript. If the daemon is
running, assume it's because the user started it manually and would
like it to be left alone (feel free to issue a warning, though).

2 - initscript ID unknown

sysvinit meaning: There isn't a normal file with the name matching
initscript ID in /etc/init.d/ (note that the existence of a
S??initscriptID link/file is NOT enough, as we are constrained to
the same namespace used by update-rc.d).

This might happen if update-rc.d fails, if you forget to run
update-rc.d BEFORE initscriptquery in the package scripts, or if the
user removed the /etc/init.d/ script.

Desired behaviour: Do whatever is appropriate for your package.
Unless -q was given, initscriptquery will have already printed a
warning to stderr. The calling script might want to try to start the
script anyway (which will probably fail, BTW). 

3 - initscript ID known, but behaviour is undefined

sysvinit meaning: No S?? or K?? link in the proper rc?.d directory
for the given initscript ID was found, but a /etc/init.d/ file for
the given initscript iD does exist.

Desired behaviour: For non-daemon-starting initscripts, it is
undefined. Do whatever is *safer* for your package (start it anyway,
do nothing, or stop it).

Never start a daemon which isn't already running if you receive this
status code. You can either restart the daemon, stop the daemon, or
do nothing.  WARNING: don't use /etc/init.d/initscript restart for
this operation unless the initscript is under your control, and
known not to start a daemon which was not running.

4 - Syntax error

Re: RFC: fix for daemon start (2)

2000-09-13 Thread Henrique M Holschuh
On Wed, 13 Sep 2000, Florian Lohoff wrote:
 I would like to have an addition to the initscriptquery which
 is something i have been waiting for long. I am interested in this
 because i am doing automated installations into a chroot environment.
 In this case i am possibly running in the right runlevel but i still
 dont want to have Daemons to be startet. So i would like to have a possibility
 to override the initscriptquery decision or more or less set an env var
 saying DPKG_NOSTARTDAEMONS=1 or something like this.

This issue falls under the soon-to-be-posted-to-debian-devel RFC for local
administrative control of initscript starts.

It allows you to do the above, yes.  It's just that I didn't write the code
yet, and I *know* the issue can start a flame war if I don't use severe
helpings of flame-retardants like posting the code up front (so that people
can actually look at it, and notice it will not do any weird crap to their
systems, especially if they DON'T want such administrative control in their
machine).

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpyZQg3NlSmP.pgp
Description: PGP signature


Re: RFC: fix for daemon start on package install/upgrade out-of-runlevel

2000-09-11 Thread Henrique M Holschuh
On Mon, 11 Sep 2000, Herbert Xu wrote:
 On Sun, Sep 10, 2000 at 09:19:10AM -0300, Henrique M Holschuh wrote:
  On Sun, 10 Sep 2000, Herbert Xu wrote:
 
   Which is why it should only be killed in prerm/preinst.
  
  Which makes all the supposed simple restart solution for the runlevel
  problem fail in _all_ cases. Thank you for reminding me of the prerm issue,
  nearly all daemon-providing packages stop the daemon in prerm. All of these
  packages would have to stop doing this (at least on upgrades) for a
  restart solution to the runlevel problem to work.
 
 Huh? If what you want is an only start this in runlevel X,Y,Z, then this
 certainly can be done with stopping the daemon in prerm, and restarting it
 in postinst if we're in the correct runlevel.

Hmm, we have a communications breakdown here :-)

What I mean is:

1. using a initscriptquery-type strategy, you CAN safely stop the daemon
   wherever you whish, including in prerm. The daemon will be started again
   (which I don't call restarted :-) -- I reserve that for stop a running
   daemon and start it again immediactly) if you're in the correct
   runlevel.

and 

2. If you're going to use 'pidof'/ps/grep-style strategies to detect if
   you're in the current runlevel, it won't work correctly always. Also, it
   will fail if you stop the daemon in the prerm (and in other circunstances
   as well).

Therefore, 

3. initscriptquery-type strategies are better, as they allow you to keep
   stopping your daemons in prerm.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgp2EkW8872iq.pgp
Description: PGP signature


Re: RFC: fix for daemon start on package install/upgrade out-of-runlevel

2000-09-11 Thread Henrique M Holschuh
On Sun, 10 Sep 2000, Ingo Saitz wrote:
 On Sun, Sep 10, 2000 at 09:19:10AM -0300, Henrique M Holschuh wrote:
  BTW, on an unrelated note, a ps | grep solution *MUST* deal with the
  following possible scenarios,
 [...]
3. Multiple instances of daemon (and you want to kill only the one you
   started -- never seen anyone need this, though, as daemons like apache
   have better ways to detect the right daemon to kill... so _maybe_ this
   special case can be ignored)
 
 No, please don't! Ssh makes use of it by starting on sshd daemon,
 which listens on port 22 and forks another instance for each
 incoming connection. If you would kill all sshd processes you
 immediatly loose your existing ssh connection, which is bad, if
 you start the upgrade remote via ssh.

Must deal with doesn't mean do it always. It means can be told to do it
in such a way :-) Besides, 2. and 3. are mutually exclusive anyway, you
will need a command line switch or something else to select which kind of
behaviour you need.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpthuba2HboY.pgp
Description: PGP signature


Re: RFC: fix for daemon start on package install/upgrade out-of-runlevel

2000-09-10 Thread Henrique M Holschuh
On Sat, 09 Sep 2000, Robert D. Hilliard wrote:
   daemon is running, and only restart it if it found it was running?
  
  Because if the user removes but not purges a package, all the configuration
  data related to initscripts is kept. The daemon is not running, but the
  runlevel restrictions must still be upheld (and stop-start-daemon cannot and
  should not have to know about this). I hope you agree that such a partial
  fix is undesirable when a complete one is available.
 
  There would only be a problem in the rare case in which the
 sysadm had set up a daemon to run only in some run levels, then
 removed the package containing the daemon, then reinstalled it and
 expected it to resume its former behavior.  I think it is unreasonable

Yes. My point exactly: It doesn't work for all cases, and it's no simpler
than the complete fix. You have to take into account that you cannot stop
daemons in your preinst anymore for the restart trick to work, and now you
need to always differentiate upgrades from installs in your postinst. It
requires far more extensive changes to the packages than adding the call to
a initscriptquery script.

More trouble for less results IMHO.

 to make the packaging system system jump through hoops to save the
 sysadm from fixing it manually in this rare case.

The packaging system doesn't go through any more hoops than what's expected
of it: to obey the runlevels (if you tell me it is not expected to obey the
runlevels, I'll ask you why and where is it documented, and where's the
polite warning it should issue. I clearly told the system not to start that
daemon in that runlevel).  The added complexity on the average packager is
to copy-and-paste a small, easily understood, easy to debug script.

Someone went to a lot of trouble to set up the update-rc.d system. Thanks to
that, Debian's init script system is quite enjoyable to set up, and keep
control of. It doesn't try to do things behind your back. It doesn't change
your settings without warning.  IMHO we should finish the job update-rc.d
started, and close -completely- the last hole in the whole scheme. There is
no *need* to let the packaging system start daemons behind your back.

Also, although I didn't want even to broach the subject yet, a
initscriptquery-type solution allows for easy deployment of a _completely
optional_ (as in install an optional package implementing the stuff if you
want it) local policy to control the starting of daemons. I know some people
want this, I've read at least one request for it. And it would be completely
transparent to the packaging system (it's a small change done to the
initscriptquery script) and to the packages themselves.

  I fear that detecting when a daemon is running in a generic way is not
  always easy (I'll only know when I try to do it). Creating a generic
  check-daemon-state script so as to make it easier for our initscripts to
  conform to the LSB requirements of a status command is still in my todo
  list, but at a rather low priority.
  
  ps ax|grep daemon-name|grep -v grep works for me.

It won't work for all cases. Actually, it's extremely easy to break. I know
someone will post a far better regexpr sooner or later on this thread,
though...

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpZBjTVu5bb1.pgp
Description: PGP signature


Re: RFC: fix for daemon start on package install/upgrade out-of-runlevel

2000-09-10 Thread Henrique M Holschuh
On Sun, 10 Sep 2000, Herbert Xu wrote:
 Brendan O'Dea [EMAIL PROTECTED] wrote:
 
  This unfortunately doesn't work if you are trying to kill the previous
  version of a daemon in the postinst of a package, as the binary will
  have changed.
 
 Which is why it should only be killed in prerm/preinst.

Which makes all the supposed simple restart solution for the runlevel
problem fail in _all_ cases. Thank you for reminding me of the prerm issue,
nearly all daemon-providing packages stop the daemon in prerm. All of these
packages would have to stop doing this (at least on upgrades) for a
restart solution to the runlevel problem to work.

BTW, on an unrelated note, a ps | grep solution *MUST* deal with the
following possible scenarios, and have ZERO error rate (otherwise you'll be
sending SIGTERM/SIGKILL to the wrong process, as root. This is simply
unacceptable):

  1. Swapped out daemons
  2. Multiple instances of daemon (and you want to kill all, not just the
 first one -- this is common)
  3. Multiple instances of daemon (and you want to kill only the one you
 started -- never seen anyone need this, though, as daemons like apache
 have better ways to detect the right daemon to kill... so _maybe_ this
 special case can be ignored)
  4. Other processes in the ps listing which contains daemon as a substring,
 e.g.: a vi /etc/daemon, or a daemon substring in another program name or
 parameter.

I haven't read the pidof code, but I will assume it can handle all of the
above. If it doesn't, pidof needs to be fixed.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpkjSBvLz0UI.pgp
Description: PGP signature


Re: RFC: fix for daemon start on package install/upgrade out-of-runlevel

2000-09-10 Thread Henrique M Holschuh
On Sun, 10 Sep 2000, Colin Watson wrote:
 [EMAIL PROTECTED] (Henrique M. Holschuh) wrote:
 ISSUE: Is there a need for pre-depends?
 
 A package which needs a future version of the initsciptquery interface
 would need to pre-depends: sysvinit (=someversion) | filerc
 (=someversion). How is this done for update-rc.d ? 
 
 If you're using initscriptquery in your postinst (as more or less anyone
 who uses it will be?) then you only need an ordinary dependency.

If you say so. I'm not that familiar with dpkg, and I was afraid a simple
depends: would not insure the initscripquery-providing versions of sysvinit
and file-rc would have been installed AND configured before the postinst for
the packcage is called during a massive install run... so I asked about
pre-depends. :-)

 I don't know if this comes under the administrative reasons which you
 asked us to ignore for now :), but recently I was upgrading my work box
[...]
 With initscriptquery as it stands, I would at least have a common hook
 which I could hack to stop any of them being started; I could perhaps
 have pretended I was in runlevel 1 or something. I don't doubt you'll
 provide a cleaner solution in your local policy RFC, but I would
 certainly like to see the current system implemented for woody.

That would be RCS branch 1.3.0.x of the script ;-) I have two possible
solutions, and both are clean and quite safe (and they also do not change
the behaviour of the system one iota by default, so people who think they're
useless don't have a reason to oppose them. They wouldn't even be installed
in their system).

 1. Call a standard script in initscriptquery IF it is installed (if [
-x...), and only return a exit status code of 1 (start daemon) if this
script allows it.  This is the same way the cron and anacron packages
deal with each other, and it's IMHO better than solution 2 below.

I have code implementing the hook for this, but it's trivial to add
anyway. Packages that want to implement these local policy controls,
simply provide this script. A trivial version of the local policy script
only needs a /etc/ config file for it to grep for initscript ID.

 2. Use dpkg-divert to install your own particular version of
initscriptquery and plug the administrative stuff in there. This
requires a sysvinit and file-rc versions of the new script. On the other
hand, the only way to forbid this solution to be applied is by policy.
It has zero-impact, zero traces in a system it's not installed.

So as not to bug the maintainers even more, the local admin script is not
able to differentiate installs of upgrades, BTW. This CAN be fixed, but it
would require all calls to initscriptquery to differentiate between the two,
and that would be not very nice to ask of everybody.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpoWbdCsumqp.pgp
Description: PGP signature


Re: RFC: fix for daemon start on package install/upgrade out-of-runlevel

2000-09-10 Thread Henrique M Holschuh
On Sun, 10 Sep 2000, Henrique M Holschuh wrote:
 -x...), and only return a exit status code of 1 (start daemon) if this

That should be exit status code 0, of course. Oh well...

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpUIQTZ5cjqk.pgp
Description: PGP signature


RFC: fix for daemon start on package install/upgrade out-of-runlevel

2000-09-09 Thread Henrique M. Holschuh
Hello debs,

This is a request for comments (and enhancements ;-) ) for a possible
solution to an annoying bug (for those it hits) we currently have: daemons
are started during package installs/upgrades regardless of the current
runlevel.

This behaviour can be fixed, and the fix is not overly complex. In this RFC,
I propose a solution including example code. However, the complete solution
requires policy that mandates the fix to be applied to all affected
packages.

I humbly request your input on this issue, and suggest a fix for this
problem (not necessarily the fix outlined in this RFC) to be considered a
goal for woody.

THE PROBLEM: During (non-first) installs and upgrades, init scripts are run
regardless of the current runlevel. Debian tries to respect the local
administrator's wishes through the update-rc.d script, but falls short when
it comes to start daemons only at the correct runlevels.

EXAMPLE: User sets up his runlevels 2 and 3 so as not to start the nfs
server in runlevel 2, and to start it in runlevel 3. The system is set to
runlevel 2, the nfs daemon isn't running. The user runs apt-get
dist-upgrade, and a new version of the nfs server is installed. The postinst
script starts the nfs server daemon, even though the current runlevel
clearly prohibits this. (BTW: this is an example, I didn't check if the nfs
server package has some sort of unusual postinst which does not start the
server if it's not runing on upgrades).

THE PROPOSED SOLUTION: A new program (/usr/sbin/initscriptquery) will be
provided by the sysvinit (base) and file-rc (optional) packages. This
program will be used by all packages which provide an init script (with the
possible exception of rcS.d scripts, see the Issues section) to verify if
they are supposed to run an init script in the current runlevel or not
(during both installs and upgrades).


The proposed /usr/sbin/initscriptquery script:
--

Assumptions: 
  Debian uses only sysvinit-compatible init scripts, stored in /etc/init.d/
  (currently true for debian, file-rc uses the same /etc/init.d/ scripts as
  sysvinit does).

  The unique identifier for an init script is the init script ID required by
  the update-rc.d command.

Design goals: 
  1. Downgrade to the current (but broken) behaviour if the fix is not fully
 available in the host system.

  2. Default behaviour should match the current one for Debian as well as
 possible, with the exception that daemons are NOT started out of their
 intended runlevels.

Documented Command Line Interface:
  /usr/sbin/initscriptquery [-q] init script ID

  -q : Run initscriptquery in silent mode, errors are NOT reported to stderr
  init script ID:  the update-rd.d identifier for the init script

  Future versions to this script MUST be fully backwards compatible.

Documented behaviour of the initscriptquery script:

   stdin shall not be used (it is NOT an interactive script)
   stdout shall be used only to output usage information.
   stderr shall be used to output all error messages.
   
   Exit status codes:
0 - the init script is allowed to be started
1 - the init script is NOT allowed be started
2 - init script ID unknown
3 - init script ID known, but behaviour is undefined
4 - syntax error
  =5 - other error (usually means inconsistency in the underlining
init script subsystem)

Verbose description of the exit status codes:

0 - the init script is allowed to be started

sysvinit meaning: There is a non-dangling, executable S?? link in
the rc?.d directory for the given script ID and current runlevel.

Also, no other administrative reasons for not starting the init
scripts exist. {currently not implemented, a separate RFC will
address this, ignore it for now *please*}

Desired behaviour: Call /etc/init.d/initscript as you'd have done
before the advent of initscriptquery

1 - the init script is NOT allowed be started

sysvinit meaning: There is a non-dangling, executable K?? link (and
no S?? link) in the rc?.d directory for the given script ID and
current runlevel.

Or, an administrative reason prohibits starting the init script.
{currently not implemented, a separate RFC will address this, ignore
it for now *please*}

Desired behaviour: Do not run the init script. If the daemon is
running, assume it's because the user started it manually and would
like it to be left alone (feel free to issue a warning, though).

2 - init script ID unknown

sysvinit meaning: There isn't a normal file with the name matching
init script ID in /etc/init.d/ (note that the existence of a
S??initscriptID link/file is NOT enough, as we are constrained to
the same namespace used by update-rc.d).

This might happen if update-rc.d fails, if you forget to run
update-rc.d BEFORE 

Re: Debian, daemons and runlevels (was: Re: X and runlevels)

2000-09-07 Thread Henrique M Holschuh
On Thu, 07 Sep 2000, Craig Sanders wrote:
 On Mon, Sep 04, 2000 at 10:28:20AM -0300, Henrique M Holschuh wrote:
  I was going to tack this sooner or later (the trust us, we KNOW you
  want the daemons to start always current state of almost all daemon
  packages annoys me to no end, and from past flamewars I know I'm not
  the only one), I think I even warned a few newbies in -user two days
  ago about this :-)
 
 it is a reasonable assumption to make - if someone installs a package

Yes, it is. But it is just that: an assumption. That's all we can do right
now for package installs, and it CAN be argued that it's all we should ever
do in package installs.  My current issue is with package upgrades.

So, please, let's not even get into the 'start daemons at package install'
issue right now. Let me tack the upgrade problem first, and when that's done
and ready (please note I didn't say accepted), we can move to the install
problem and we can argue all you want about it.

Here is what I'm trying to fix: Upgrading a daemon while the system is in
runlevel 4 and the init script system is set up to stop that daemon in
runlevel 4 is a *bug*.

If you call the script which addresses the upgrade issue during installs as
well, it won't malfunction (this is a design requirement), and you can share
the same code for upgrades and installs. It *could* be used to avoid
starting a daemon during installs if extended to do so, but it doesn't
_have_ to.

  The solution is to *force* all daemon packages to never start a daemon
  out of its intended runlevel, be it during first install or upgrades
  (I think this probably requires a policy change). I'd even say this
  should be a goal for woody, unless we're going to try to get woody out
  of the door very fast.
 
 this sounds bloody annoying.

If everyone had to write a lot of complicated code to get this to work, I'd
agree with you.  As it stands, I'm writing all the code needed for sysvinit,
and I could even try to do the same for file-rc after the sysvinit code is
ready, tested, published to -devel and ripped to shreds.

A *design* goal in this stuff is that: If you do nothing to the defaults,
the system will act just like it does today. In *all* cases, even the highly
unlikely ones such as no init system at all being installed.

You as a maintainer will have to add something that boils down to:

 ...

 update-rc.d foo bar foobar barfoo
+if canIstartTheDaemonPlease daemonname; then
+   /etc/init.d/daemoname start
+fi

 ...

After all error checking is stripped off.

 if you don't want a service to start, then don't install the package.
 simple, really.

As I said, let's leave that issue alone for now, please.

[...]
 no package manager can read your mind.   you're still going to have to do

It doesn't need to, I consider the start on upgrade as it stands a bug
because the system can detect what it should do, unless I am overlooking
something... which is why I'm trying to get the code done and working before
posting anything else to -devel.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpT619SC1RjZ.pgp
Description: PGP signature


Re: Debian, daemons and runlevels (was: Re: X and runlevels)

2000-09-07 Thread Henrique M Holschuh
On Wed, 06 Sep 2000, Henrique M Holschuh wrote:
 Here is what I'm trying to fix: Upgrading a daemon while the system is in
 runlevel 4 and the init script system is set up to stop that daemon in
 runlevel 4 is a *bug*.

Damn, I should have said Starting a daemon in a upgrade while the
system...

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpixNxrN6eTz.pgp
Description: PGP signature


Re: debhelper or fakeroot problem?

2000-09-06 Thread Henrique M Holschuh
On Wed, 06 Sep 2000, Atsuhito Kohda wrote:
 dpkg-shlibdeps: warning: unable to find dependency information for shared 
 library /usr/lib/libfakeroot/libfakeroot (soname 0, path 
 /usr/lib/libfakeroot/libfakeroot.so.0, dependency field Depends)
[...]
 What is the problem and is there anyone who encountered the same
 problem?

It happens here everytime as well, but I simply ignore it, as no bogus
information (dependency) on libfakeroot is being inserted anyway.

I don't know if there's a way to shut dpkg-shlibdeps up AND cause it to
still NOT include any bogus dependencys on libfakeroot.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpPRGTDFSXdA.pgp
Description: PGP signature


Re: X and runlevels

2000-09-05 Thread Henrique M Holschuh
On Mon, 04 Sep 2000, Branden Robinson wrote:
 On Mon, Sep 04, 2000 at 10:32:07AM +0200, Per Lundberg wrote:
  How come Debian don't have a non-X runlevel, like some other
  distributions, in the default configuration? I think this would be
  pretty convenient.
 
 Because no one has ever bothered to write a runlevel policy.

Well, we might end up inheriting the one from LSB if Debian decides to try
to follow as much as possible of it, but it's not like we need to get
concerned with implementing it yet. What we must ensure is that Debian will
work right with whatever runlevel scheme the local administrator comes up
with and sets the system up with.

After this is done, implementing whatever runlevel policy we want is a
simple matter of a mass change of the update-rc.d invocations in a great
deal of packages ;-)

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgpL68Tmp4HFg.pgp
Description: PGP signature


Debian, daemons and runlevels (was: Re: X and runlevels)

2000-09-04 Thread Henrique M Holschuh
On Mon, 04 Sep 2000, Paul Slootman wrote:
 On Mon 04 Sep 2000, Ethan Benson wrote:
 
 It's unfortunate that there's no easy way to find the current runlevel
 (the usual who -r from Solaris etc. doesn't work), otherwise this
 piece of code could be used:
 
   RL=`who -r`
   if [ -x /etc/rc$RC.d/S??$PKGNAME ]; then
   /etc/rc$RC.d/S??$PKGNAME start
   fi
 
 That's ignoring file-rc, unfortunately. Is there an easy way of
 determining whether a certain init.d script should be started in
 the current runlevel that works also with file-rc ?

I was going to tack this sooner or later (the trust us, we KNOW you want
the daemons to start always current state of almost all daemon packages
annoys me to no end, and from past flamewars I know I'm not the only one), I
think I even warned a few newbies in -user two days ago about this :-)

The solution is to *force* all daemon packages to never start a daemon out
of its intended runlevel, be it during first install or upgrades (I think
this probably requires a policy change). I'd even say this should be a goal
for woody, unless we're going to try to get woody out of the door very fast.

This would be managed through a simple (for sysvinit. I don't believe it'd
be very complex for file-rc either, but I didn't check), standard
script/program added to the sysvinit and file-rc packages (and any other
future packages of the same sort) which allows a script to query if a
certain init.d script should be started [in the current runlevel].

This assumes that the name of a daemon's init.d file is the generic ID for
that daemon, but this is the current policy for Debian anyway (it's what you
feed to update-rc.d).

I should check if the LSB tries to do something like this in a
non-braindamaged way, too... just in case.

This could (IMHO should, but lets not go there) be expanded later to allow
the administrator a bit more control over daemons being started on first
install (before he reviewed config files, for example). As long as
update-rc.d is called before running this script during package installs and
upgrades, it would setup the default runlevels the daemon is supposed to run
on.  There would be no changes in behaviour of a standard debian install.

Any comments?

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgp2EXPfRW4Wu.pgp
Description: PGP signature


Re: xpdf-i obseleted by xpdf

2000-08-20 Thread Henrique M Holschuh

On Sun, 20 Aug 2000, Hamish Moffatt wrote:
 xpdf already conflicts and replaces xpdf-i. Am I correct in saying that
 there's no way I can cause an automatic upgrade from xpdf-i to xpdf?

Hmm... I'll take the oportunity to ask an old doubt of mine: 

Will it work if xpdf-i is made an empty package which depends on xpdf, and
its description is changed so as to explain the user that she should purge
xpdf-i ?  (xpdf still conflicts with xpdf-i).

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


pgp15ks3douR4.pgp
Description: PGP signature


Re: RBL report..

2000-03-26 Thread Henrique M Holschuh
On Sun, 26 Mar 2000, Joseph Carter wrote:
 On Sun, Mar 26, 2000 at 04:00:54PM +0200, Nils Jeppe wrote:
   Given every report I've heard to the contrary, I'm not sure I believe
   that.  I've also been told that there are cases where their tests produce
   false positives.

This used to be true. The new tests won't false-positive anymore.

  I don't see how you can create a false positive on a relay test. Either
  the message gets through, and you're an open relay, or it doesn't, and
  you're fine. It's quite simple, really.
 
 Or it appears to have been accepted and goes nowhere.  I've seen a setup
 or two like this specifically for the purposes of tracking who was trying
 to use the relay...

The failure in a test is now triggered (AFAIK) by the _receipt_ of the probe
message in the _target_ address. This allows for no false-positives by the
test suite.

ORBS is the only thing which is capable of keeping the spam low enough to be
acceptable in my home account :-( It doesn't help that spammers have
haversted the debian BTS (either the WWW pages or the ML, I don't know) for
addresses to spam, either.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh 



Re: Proposed documentation/script changes for potato (ntp/chrony/util-linux)

2000-03-22 Thread Henrique M Holschuh
On Tue, 21 Mar 2000, [EMAIL PROTECTED] wrote:
 On Mon, Jan 31, 2000 at 01:56:54AM -0200, Henrique M Holschuh wrote:
 I don't read debian-devel frequently, so I just caught up on all this
 discussion, however I did file one of the bugs about this.  Thank you
 for taking on this issue!  I have one problem:

Someone still needs to get the hands dirty and do some coding for it to be
effective, though.

  To set the date/time of the system, just use the standard UNIX date 
  facilities
  (such as date)
 
 This advice ignores the admonitions I've read in many places that one
 should never adjust the system clock discontinuously, especially not
 backwards.  Do you have any thoughts on this?

Setting the clock backwards is always a pain (it screws up log timestamps,
for one), wether you do it continuously or not. I really wish all logging
was done in UTC, at least the timestamps wouldn't repeat themselves when
leaving daylight savings time. 

As for stepping the clock forward, I've seen it cause all sort of weirdness
(e.g.: activating X screensavers :-) ), however I've never seen any really
hazardous effects (e.g.: hardware failures), at least not in Linux. My
system does clock stepping every boot (ntpdate -b), and ntp actually causes
the clock to step sometimes when the syncronization is lost. So far, nothing
complained too loudly about it...

The truth is that we have to choose between the lesser of two evils, and
stepping the clock seems to be the lesser one here (as opposed to completely
hosing the system time because the user doesn't know how to deal with the
two clocks and /etc/init.d/hwclock.sh during shutdown).

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh