Re: Bug#272066: Patch?

2005-11-22 Thread Thomas Hood
debian-devel readers: There is a proposal (#272066) that bootclean.sh's
cleanrun function not delete symlinks under /var/run/ whose targets are
directories.  The function already refrains from deleting directories.
Any objections?  Please reply to [EMAIL PROTECTED], not to the list.

Cameron Hutchison wrote to #272066:
 This should do it. It uses the -xtype find(1) predicate. I'm not sure if
 that's GNU only and if so, whether it is allowed in an initscript.
 
 --- /etc/init.d/bootclean.sh  2005-01-05 10:27:40.0 +1100
 +++ /tmp/bootclean.sh 2005-11-22 09:27:46.105703939 +1100
 @@ -90,7 +90,7 @@
  
   [ $VERBOSE != no ]  echo -n  /var/run
   ( cd /var/run  \
 - find . ! -type d ! -name utmp ! -name innd.pid \
 + find . ! -type d ! -xtype d ! -name utmp ! -name innd.pid \
   -exec rm -f -- {} \; )
   rm -f /var/run/.clean
   set -o noclobber


! -type d matches everything (including symbolic links) except directories.
! -xtype d in the absence of -L matches everything except directories
and symbolic links to directories.  Thus IIUC the latter eliminates the need
for the former.

I am cc:ing this to debian-devel in order to solicit opinions.
Please reply to [EMAIL PROTECTED], not to the list.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



How to use lsb init-functions

2005-11-22 Thread Thomas Hood
In trying to convert the initscripts in the initscripts package to use
the logging functions in /lib/lsb/init-functions I have run into some
problems.

Currently there are two sets of functions intended to implement the several
kinds of messages normally output by Debian and Ubuntu initscripts.  The
first is for reporting the starting and stopping of services:

log_daemon_msg Foo bar ; log_progress_msg baz ; log_end_msg 0

Debian: Foo: bar baz.

Ubuntu: * Foo bar  [ ok ]

The second is for reporting actions to be taken:

log_action_msg Foo

Debian: Foo.

Ubuntu: * Foo

The third is for reporting actions to be taken and their completion:

log_action_begin_msg Foo ; log_action_cont_msg bar ; log_action_end_msg 0

Debian: Foo...bar...done.

Ubuntu: * Foo...
* bar...   [ ok ]

In addition there is a function for reporting success:

log_success_msg Foo

Debian:Foo

Ubuntu:* Foo

one for reporting failure:

log_failure_msg Foo

Debian:* Foo   [asterisk is red]

Ubuntu:* Foo   [asterisk is red]

and a function for warning:

log_warning_msg Foo

Debian:* Foo   [asterisk is amber]

Ubuntu:* Foo   [asterisk is amber]

Finally there is a log_begin_msg which seems to be obsolete.

Now my question.  Suppose I have a script that does something and I want to do
the following:

* Report that foo will be done
* Do foo
* Report that foo has now been done

I am supposed to do:

log_action_begin_msg Will do foo
foo
log_action_end_msg $?

But the problem is that foo may produce output and this will break up the nice
single-line format.  I don't mind deverting stdout to /dev/null, but I am
reluctant to divert stderr to /dev/null and error messages will also break up
formatting:

Debian:Foo...ERROR
   failed.   [in red]

Ubuntu:* Foo...
   ERROR
  [fail][in red]

It seems that in many cases we will have to adopt the following schema:

log_action_msg Will do foo
if foo ; then log_success_msg Done foo. ; else log_failure_msg Foo 
failed. ; fi

Is this what I should do, or is there another solution I am overlooking; or
do we need more functions; or does the whole system need to be reworked?
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Not delete symlinks to directories in /var/run/ ?

2005-11-22 Thread Thomas Hood
[Please forgive the duplicate, but I first sent this with a useless
Subject line.]

debian-devel readers: There is a proposal (#272066) that bootclean.sh's
cleanrun function not delete symlinks under /var/run/ whose targets are
directories.  The function already refrains from deleting directories.
Any objections?  Please reply to [EMAIL PROTECTED], not to the list.

Cameron Hutchison wrote to #272066:
 This should do it. It uses the -xtype find(1) predicate. I'm not sure if
 that's GNU only and if so, whether it is allowed in an initscript.
 
 --- /etc/init.d/bootclean.sh  2005-01-05 10:27:40.0 +1100
 +++ /tmp/bootclean.sh 2005-11-22 09:27:46.105703939 +1100
 @@ -90,7 +90,7 @@
  
   [ $VERBOSE != no ]  echo -n  /var/run
   ( cd /var/run  \
 - find . ! -type d ! -name utmp ! -name innd.pid \
 + find . ! -type d ! -xtype d ! -name utmp ! -name innd.pid \
   -exec rm -f -- {} \; )
   rm -f /var/run/.clean
   set -o noclobber


! -type d matches everything (including symbolic links) except directories.
! -xtype d in the absence of -L matches everything except directories
and symbolic links to directories.  Thus IIUC the latter eliminates the need
for the former.

I am cc:ing this to debian-devel in order to solicit opinions.
Please reply to [EMAIL PROTECTED], not to the list.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



ALSA packager needed

2005-12-09 Thread Thomas Hood
The ALSA packaging team needs help.  We really need someone with expertise
in programming for the ALSA library.  If you are able to help us, please
contact us at [EMAIL PROTECTED]

-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Co-maintainers sought

2005-12-09 Thread Thomas Hood
I seek co-maintainers for:

mwavem
thinkpad, tpctl
resolvconf

-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



ALSA packager needed

2005-12-17 Thread Thomas Hood
First, thanks to those who responded to my earlier call.

In addition to people knowledgeable about the ALSA userspace library
I would like to find someone willing to help maintain the driver side.

ALSA drivers are included in Linux 2.6, but we still ship an alsa-source
package for use with Linux 2.4 and for those who want the very latest
drivers on 2.6.  When upstream makes a new release we make a new release
of alsa-source, which along with linux-sound-base and alsa-base is
generated from the alsa-driver source package.  Updating the Debian
packaging at such times is fairly easy, but it does involve some work.

There is a new upstream release candidate out now (1.0.11rc1) and I would
like to take the opportunity to go through the process with the new
volunteer.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Please test new sysvinit, sysv-rc, initscripts

2005-12-17 Thread Thomas Hood
A new version of sysvinit (binary packages sysvinit, sysv-rc and initscripts) 
has
just been uploaded to experimental.  The reason for sending it to experimental 
is
that a large number of changes were made, thus increasing the probability of 
errors.
And errors in sysvinit can be especially troublesome to users.  We would like 
the
release to get some testing by people who know what to do if things go wrong.  
If
you can, please give us a hand and install version 2.86.ds1-7.

After installation you should have a tmpfs mounted on /run.  This has been 
created
for the use of that handful of packages that need a place to store run time 
state
files independently of networking.  Recently mentioned as needing such a 
location
was the bootchart package.  Ifupdown and resolvconf can use it too, instead of
/dev/shm/.

After rebooting you should have logs of the fsck runs in 
/var/log/fsck/check{root,fs}.
You should have a rotated /var/log/dmesg, and /var/log/boot if you are using 
bootlogd.

Please check /etc/motd.  Is this now a symlink to /var/run/motd and are its 
contents
correct?

Try switching to runlevel 1.  Does this work as expected?

Now shut down.  Any problems?

Boot with INIT_VERBOSE=yes kernel parameter.  Is the boot more verbose?

Any glitches in any of the messages?
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: /run vs /var/run (was: Please test new sysvinit)

2005-12-18 Thread Thomas Hood
Anthony Towns wrote:
 is there any possibility
 of putting it under /lib/run or /boot/early-writable-fs instead of
 introducing a new directory on / that's of very limited use?


That is certainly possible, but I don't see anything wrong with putting
it at the top level either.

FWIW I asked Chris Yeoh for his opinion on the name and he said that
/run sounded preferable to both /etc/run and /lib/run.


 Huh? URL? I'm surprised there isn't at least a pro-forma objection to
 creating a new directory in /.


The main condition is that we have good reasons for adding it.  Also,
its use should be restricted to Debian infrastructure packages until
such time as the directory gets officially recognized by the FHS.


  I do not count It's ugly! as a strong reason.

 You should; especially since it seems solvable by hiding it in /lib
 alongside /lib/modules.


The problem is that some people find /lib/run uglier than /run.  ;)

-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: /run vs /var/run (was: Please test new sysvinit)

2005-12-19 Thread Thomas Hood
Anthony Towns:
 Mmm; privately asking someone who works on the FHS is a different thing
 to asking on the FHS lists, or actually talking to our users.


True.


 Claiming support from the FHS guys on the basis of a conversation with
 Chris doesn't seem appropriate; anymore than -policy support would be an
 appropriate claim if Manoj had said it looked okay.


Agreed.  Fortunately, I didn't claim that.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: /run vs /var/run (was: Please test new sysvinit)

2005-12-19 Thread Thomas Hood
Anthony Towns wrote:
 A possible concern is people seeing /run and thinking ah, there's a
 directory I can use for stuff, and having it be used instead of
 /var/run or $TMPDIR or /var/lib or /var/cache for things it's not
 appropriate for.


I think that everyone agrees that /run is to be used only for those very
few purposes for which /var/run cannot be used.  If there are worries
about abuse then I would suggest the addition of a sentence to Policy
forbidding such abuse.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: /run vs /var/run (was: Please test new sysvinit)

2005-12-19 Thread Thomas Hood
Steve Langasek wrote:
 Are there really any init scripts that need to write out data prior
 to checkroot.sh (the point at which /run would be writeable by
 default on the rootfs)?


Well, it would be nice if fsck logs could be stored in /run until
/var/log/ is available for writing.  It would be nice if mtab could
be kept in /run so that it could be written to as filesystems are
being mounted.  Currently these sorts of things are delayed using
one trick or another.


 by constraining the actual *implementation* of /run (barring ugly
 hacking of the init scripts), you've made the system less suitable
 for a third use case:

 - memory is at a premium, disk is not


Tmpfs memory can be swapped out, so is this even a hypothetical problem?


 [...] the point is that design-wise, there's simply no reason
 to make the choice for the user of *what* is mounted on /run, only
 to specify that *something* must be (and that it must be writable);


One advantage to supporting only tmpfs on /run is that the assumption
can then be made that the hierarchy is empty at boot; there are no
stale files and no cleaning has to be done.

If there are reasons why some users would not want to put a tmpfs at
/run (which there may well be, although I haven't heard them yet)
then we can of course support this.  Then either initscripts will have
to clean the directory or programs using it will have to contend with
stale files.  Cleaning cannot occur until the filesystem underlying
/run is mounted read-write and programs must not use /run before the
cleaning has been completed; it would probably be easier to drop the
cleanliness-at-boot guarantee and let programs clean out their own
stale files.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Please test the new sysvinit

2005-12-19 Thread Thomas Hood
So, has anyone tested the new packages?
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: /run vs /var/run

2005-12-19 Thread Thomas Hood
Anthony Towns:
 Sorry, I was paraphrasing above. The actual definition is Essential
 shared libraries and kernel modules, and The /lib directory contains
 those shared library images needed to boot the system and run the
 commands in the root filesystem, ie. by binaries in /bin and /sbin.
 
 Shared library image seems a pretty clear reference to .so files, and
 binaries is usually used to talk about ELF executables as opposed to
 scripts (executables being the general term).
 
 /lib is the right place for the above, and the FHS's too-limited
 definition is wrong. To my mind, /lib also seems the right place for a
 /run directory.
 
 Note the definition for /usr/lib is Libraries for programming and
 packages and /usr/lib includes object files, libraries, and internal
 binaries that are not intended to be executed directly by users or
 shell scripts. and /var/lib is Variable state information and This
 hierarchy holds state information pertaining to an application or the
 system. State information is data that programs modify while they run,
 and that pertains to one specific host.
 
 Combining these two, and adding the ...needed to boot the system
 qualifier seems like it would perfectly cover the above requirements
 and /run.


Let me see if I have understood the argument.  Let's call the new
directory 'R' for now.

attempt to paraphrase
   /lib is, like R, a directory required for programs needed
   to boot the system and run commands in the root filesystem;
   and /var/lib is, like R, a place where data is stored.
   We just heard lib twice!  So /lib is the right place for R.
/attempt to paraphrase

I don't think that an argument from the meaning of lib can get
much traction because /lib, /usr/lib and /var/lib are so different.
(I'll guess that these differences are there because:
* /usr/lib contained both application code and application data
  in the old days;
* When application data was removed from /usr/lib it was placed
  in /var/lib, which missed the opportunity to choose a more
  appropriate name such as '/var/data';
* When /usr/share was split out of /usr/lib, no /share was split
  out of /lib.  So whereas scripts can be kept out of /usr/lib,
  they can't be kept out of /lib because there is no better
  place to put them if they have to be on the root filesystem.)

But there are problems with this particular argument as I have
paraphrased it (probably distorting it).  First, if we accept the
reasoning steps then the conclusion ought to be that the right value
for R is /lib/lib.  What went wrong?  Well, first, we missed the
fact that /lib isn't the only directory required for programs needed
to boot the system and run commands on the root filesystem; /sbin
and /bin and sometimes other top-level directories are also required.
So if we add _another_ directory with the same supporting role as
them then it should be, like them, in the root directory.  Hence R
should be /something.  Second, we missed the fact that the
function of R is more analogous to /var/run than to /var/lib, and so
should have a basename of 'run' rather than 'lib'.  Hence R should
be /run.

Briefly, if R is like /var/run except that it supports programs
needed to boot the system and run commands on the root filesystem,
then it should be another run directory, but at the top level.

Here's another possible argument:

   Putting R in /lib spoils the otherwise read-only
   character of that directory.

-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: /run vs /var/run (was: Please test new sysvinit)

2005-12-19 Thread Thomas Hood
Anthony Towns wrote:
 Developers have been known not to be completely familiar with policy,
 but it's admins and upstream programmers that I'm particularly
 thinking of.

I don't see any problems arising from rampant /run use by _admins_.
They are always free to do what they want with their systems.

As for upstream programmers, most of them can't use /run because
their software doesn't run with root privileges.  Others can only
use /run insofar as Debian and admins let them do so.

So this brings us back to policy.

I don't think that Debian would ever be accused of lacking zeal in
enforcing its Policy.  :)

Cheers,
-- 
Thomas


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



/run vs. /lib/run

2005-12-19 Thread Thomas Hood
Any other defenders of /lib/run?  Of /run?
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: /run vs. /lib/run

2005-12-20 Thread Thomas Hood
 Heh. You know, you could've just said Yes, my heart is set on /run
 right at the start and saved us all a lot of trouble...


Let's just say that you aren't doing very well at reading my heart.  :)

Here's what I think about /run, or rather, R:

* A tmpfs R elegantly solves a handful of tricky problems.
* There are no good technical reasons not to implement R.
* There is no FHS prohibition of R.
* Other proposed solutions are technically inferior, mostly
  because they are more complex.
* Various locations for R are possible and the choice ultimately
  rests on aesthetic considerations about which people disagree.

Since the choice of location isn't that important, I'd have no
objection to putting R at /lib/run if there were something like a
consensus in favor of that location.


 So why don't we go with [making the technical changes necessary to
 ensure /var is mounted early]? Thomas?
 
 Here are the cases:
[...]
 For (d) and (e) you need special handling; using /run as a tmpfs and
 setting up /var/run - /run symlinks on both / and /var. That's pretty
 special handling [...]


This is where I stop and ask why we would impose such a maintenance
burden on ourselves when there is an alternative that does not impose
such a burden.

The answer, I take it, is that the handful of programs, H, that
would use R can then use /var/run instead.  The burden on H's
maintainers of knowing that their programs face special storage
problems is shifted onto the sysvinit maintainers and admins who
have to ensure that writable space is shoved under /var/run by
the time any of the H tries to write there.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: /run vs /var/run

2005-12-20 Thread Thomas Hood
Gabor Gombas wrote:
 ... I'd like to have a check for /run (or /lib/run or whatever)
 being empty at the end of the boot process


The new mountvirtfs prints such warnings for all the virtual
filesystems.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: /run vs /var/run (was: Please test new sysvinit)

2005-12-20 Thread Thomas Hood
  Tmpfs memory can be swapped out, so is this even a hypothetical
  problem?
 
 Maybe it isn't on Linux.  I wasn't aware tmpfs could be swapped out.
 
 That still leaves the question of just which features we want to require
 from our non-Linux kernels for basic operation, I guess.


Yes, I don't know what problems would arise in non-Linux Debians.
Both the Hurd and FreeBSD do have memory filesystems (tmpfs
and mfs, respectively), but know more about this I do not.


 Sounds to me like this will play havoc with idempotence of init
 scripts; anyway, why would mount /run and clean it be anything
 less than an atomic operation from the viewpoint of other init
 scripts?


If /run is on the root filesystem then it is mounted long before
it can be cleaned (after S10checkroot.sh).  If /run is a separate
filesystem then, yes, it can be cleaned immediately after it is
mounted (after S35mountall.sh).
-- 
Thomas


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Thoughts on Debian quality, including automated testing

2005-12-21 Thread Thomas Hood
First, thanks to Lars for drawing our attention to an important topic
and for taking an initiative that is long overdue.

Lars, I agree fully with what you say.  When it comes to team
maintenance I would go even further than you do.  You say:

 Mandatory teams for packages seems ridiculous to me. 
 Lots of packages are so small that having to arrange a 
 team for them, even if it is only the effort to set up 
 and subscribe to a team mailing list, is wasteful. Not 
 everyone likes to work in a close team, either, and we 
 shouldn't exclude them.

I don't think that it is ridiculous to require that every package have a
team behind it---i.e., at least two maintainers.  First, if someone can't
find ONE other person willing to be named as a co-maintainer of a given
package then I would seriously doubt that that package (or that person)
is an asset to Debian.  Second, putting packages in the custody of a
team makes it easy for a tired maintainer to relinquish control.  If the
team works via an alioth project then there are many benefits. Code is
kept under version control and thus backed up; the change history can be
easily viewed by anyone; the mailing list becomes an easily browsed
history of package development.  Team maintainership is working very
well for some other distributions.

I would support requiring team maintainership because TM will be
beneficial in almost all cases and making it a requirement it cuts off a
lot of useless discussion.  There are several packages in Debian that are
notoriously undermaintained and whose maintainers have mused from time
to time about getting help, but haven't bothered to do it.  They should
be forced to get help, or to give up maintaining those packages.

Consistent with this view, I have just created teams for all my packages
even though most of them are mature.  I am glad to have the help; having
new people to work with has given me some new ideas.

Combined with the principle of non-responsibility (constitution §2.1),
the institution of exclusive solitary package ownership has made some
Debian packages into bastions of untended bugs.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Thoughts on Debian quality, including automated testing

2005-12-21 Thread Thomas Hood
I wrote:
 I don't think that it is ridiculous to require that every package have
 a team behind it---i.e., at least two maintainers.  First, if someone
 can't find ONE other person willing to be named as a co-maintainer of
 a given package then I would seriously doubt that that package (or
 that person) is an asset to Debian. 

Erinn Clark wrote:
 There are plenty of people who are maintaining packages alone
 that are doing an excellent job

True.  However, the issue in question is whether or not it would be
better if they maintained in teams.

 Forcing team maintenance on people would result in very few
 technical enhancements for such maintainers

How do you know?  I would expect most packages to benefit.  Every
person brings different expertise to the table.

 It just seems to me like telling responsible DDs who've done a
 stellar job that they need a babysitter is a bit... insulting. 

This is not a fair characterization of what the introduction of
a two-maintainer rule would be doing.  No one should be insulted
by general rule changes designed to make Debian work better.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Thoughts on Debian quality, including automated testing

2005-12-21 Thread Thomas Hood
Erinn Clark wrote:
 For maintainers who are doing a lot of good work, there's simply not
 enough to justify more people. Once there's already a certain level of
 efficiency, adding another person is not going to increase it, and will
 likely decrease it. I can't see the point of enforcing this as a rule,


There is a point if it helps more than it hurts.  That is how rules have
to be judged.  Now, you might say that rules are stupid and those people
who need help should just go and get it.  But experience has shown that,
too often, they don't.

How much would this rule hurt those lone ranger maintainers you are
talking about, the ones who package everything perfectly and cannot
possibly do any better?

It turns out that there is no need for them to be hurt at all.  Lone
can carry on working as before and find a co-maintainer who won't get
in his way.  But when Lone falls off his horse he'll be glad that Tonto
is nearby.  

In other words, this rule can have only positive effects.  :)


  This is not a fair characterization of what the introduction of
  a two-maintainer rule would be doing.  No one should be insulted
  by general rule changes designed to make Debian work better.

 Bureaucracy is often designed to do lots of things better and it often
 doesn't achieve them. It creates needless hassle, more 'paperwork', and
 has very few benefits besides making people feel like they've done
 something useful when they haven't. 


You are saying that requiring people to find co-maintainers is
bureaucracy?  Someone I know well recently got co-maintainers for
three of his packages by posting a single message to debian-devel.
That's less of a burden than that imposed by many another Debian rule.

Fortunately for your position, it probably won't take arguments to kill
this idea.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Thoughts on Debian quality, including automated testing

2005-12-21 Thread Thomas Hood
Andrew Suffield wrote:
 Cute theory, gaping hole. Making a group of people responsible for
 something, rather than a single person, means that they can all spend
 all their time passing the buck and hoping that one of the others
 takes care of it, with the result that nobody does.


This is a legitimate objection.  I was assuming that the main reason for
undermaintenance is lack of time and reluctance to give up control,
rather than lack of motivation.  If the problem is lack of motivation,
and the chief motivator is a sense of responsibility, then you don't want
to diffuse that.

 We would all be much worse off with the abolition of individual
 responsibility.

The constitution already abolished it -- at least, if you interpret
article 2.1 the way some people have.

Maybe it would be useful to reinforce a sense of responsibility in Debian.

 If I were feeling in a conspiracy-theorist mood then
 I'd suggest that those who are promoting team maintainance are trying
 to gain power while evading responsibility.

Well, you do suggest it here.  And what you suggest makes no sense, so
let's not rule out the possibility that you are in fact paranoid.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Thoughts on Debian quality, including automated testing

2005-12-22 Thread Thomas Hood
Since I contributed to taking the thread off on a particular tangent
I feel I should try to bring it back to its original topic, which
is an important one.

I would like to hear some discussion about whether or not the quality
of Debian is high enough; and if it is not high enough, what can be
done to improve it?

Lars's headings were:

A) Prevent bugs from happening in the first place
B) Find and report bugs
C) Fix bugs that have been reported
D) Prevent bugs from entering the archive
Automated testing of program functionality
Let's take quality assurance seriously

Under most of these topics Lars discussed automated testing.  Are
there objections to Lars's concrete proposals (e.g., standardization
on a way to invoke package specific tests)?  Are there other ideas?
Should Debian do more auditing, for example?

For C, Lars discussed different degrees of shift from solitary toward
collective maintainership.  In the sequel opinions were emphatically
expressed that such a shift is not necessarily a good thing.  The
question remains whether better quality can be realized by changing
the organization in some way.  Perhaps not.  Then what other things
can be done to help individual maintainers fix more bugs and fix them
better?
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



New experimental sysvinit

2005-12-22 Thread Thomas Hood
A new version of sysvinit is being prepared for release to experimental.

1. We'll omit /run from this since debate about it continues unabated.

2. One thing I would like to do in this release is to remove the
dynamically created/deleted /etc/login file from the root filesystem.
It is proposed that initscripts create and delete a flag file in
/var/lib/initscripts/ and that /etc/nologin become a symbolic link to
/var/lib/initscripts/nologin.  Then the administrator then has these
options:

  No-login mode at boot until boot complete:   DELAYLOGIN=yes
  No-login mode never: DELAYLOGIN=no
  No-login mode always:  rm -f /etc/nologin ; : /etc/nologin

Anyone see any problems with this scheme?  Any better ideas?
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



New experimental sysvinit

2005-12-22 Thread Thomas Hood
(Improved version, sans confusing typo.)

A new version of sysvinit is being prepared for release to experimental.

1. We'll omit /run from this since debate about it continues unabated.

2. One thing I would like to do in this release is to remove the
dynamically created/deleted /etc/nologin file from the root filesystem.
It is proposed that initscripts create and delete the nologin flag file
in /var/lib/initscripts/ and that /etc/nologin become a symbolic link
to /var/lib/initscripts/nologin.  Then the administrator then has these
options:

  No-login mode at boot until boot complete: DELAYLOGIN=yes
  No-login mode never:  rm -f /var/lib/initscripts/nologin ; DELAYLOGIN=no
  No-login mode always: touch /var/lib/initscripts/nologin ; DELAYLOGIN=no

Anyone see any problems with this scheme?  Any better ideas?
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: New experimental sysvinit

2005-12-23 Thread Thomas Hood
Henrique de Moraes Holschuh wrote:
 How well that works with /var in a separate partition?

It should work fine because S55bootmisc.sh runs after S45mountnfs.sh.
-- 
Thomas


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: New experimental sysvinit

2005-12-23 Thread Thomas Hood
 And that is probably not what I would expect. What about doing something 
 like this...
 
 NOLOGIN=boot  nologin exists during boot
 NOLOGIN=alwaysnologin always exists
 NOLOGIN=never nologin never exists

That would be fine if we were adding a new feature, but I am trying
to modify an existing feature (to make it compatible with a read-only
root filesystem) without altering its behavior any more than necessary.

-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: New experimental sysvinit

2005-12-27 Thread Thomas Hood
 A new version of sysvinit is being prepared for release to experimental.

OK, sysvinit 2.86.ds1-8 is now in incoming.  TIA for testing it.  ;)
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Package dependencies due to documentation relationships?

2005-12-30 Thread Thomas Hood
In #303948 it is requested that coreutils Suggest: glibc-doc on the grounds
that documentation in the former links to documentation in the latter.
I have seen other requests of this kind and I have never been sure how
these situations are supposed to be handled.  Are there policies or
recommendations about how documentation relationships should be reflected
in package dependencies?
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: How to Increase Contributions from Volunteers

2006-01-03 Thread Thomas Hood
Joseph Michael Smidt wrote:
   I believe the greatest barrier the Debian Project has in preventing 
 widespread
 contributions from greater numbers of volunteers is a psychological barrier.  
 I have
 personally introduced Debian to several of my friends and always emphasize 
 the idea
 that they too can contribute to the great cause whether by documentation, 
 translation
 or adopting a package, etc...  Universally they are excited, desire to try it 
 out,
 then come back having read what it takes to be a Debian Developer and are
 overwhelmed.  They then begin searching out other open source projects where 
 it seems
 psychologically they will be able to be more of an assistance.


They are right: most probably they will find it easier to make contributions to 
other
projects.

What is missing from your message is the argument why this should be changed.  
Would it
in fact be a good thing if your friends devoted their time to Debian rather 
than to
those other projects?  It is not obvious to me that that would be better.  The 
great
cause is the free software movement as a whole.  Within that movement there 
should be
room for different kinds of projects, including exclusive hobby clubs.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: How to Increase Contributions from Volunteers

2006-01-03 Thread Thomas Hood
Andreas Schuldei wrote:
 we need to promote the easy entry points to contributing to debian more 
 prominently
 and should hide the how to become a DD in comparison. we should leave that 
 option
 for the ones that want to contribute above average.


If there is any truth to what Joseph Michael Smidt originally said:

 1.)All people psychologically want to feel important and that they are an 
 official
 part of an organization.  I feel there should be an official title for all
 contributers so they feel like they are part of the community, not just a 
 pion until
 they get official developer status.

then it might help to reword several pages at debian.org so that they are more
inclusive.  Rename Developers' Corner to Contributors' Corner.  Under The 
People
write This is a comprehensive listing of all the Debian _maintainers_ 
accompanied
with a list of packages they maintain, instead of ...developers... (which 
would
also be more accurate since non-DD maintainers are already listed).  And so on.
Reword with the principle in mind that there are many contributors to Debian 
who are
not Debian Developers®.
-- 
Thomas Hood



Re: How to Increase Contributions from Volunteers

2006-01-04 Thread Thomas Hood
Andreas Schuldei wrote:
 we need to promote the easy entry points to contributing to debian
 more prominently and should hide the how to become a DD in
 comparison.

Manoj Srivastava wrote:
 What on earth for?

Andreas Schuldei wrote:
 [...] people who want to help/contribute seem to be
 turned away by the burecratic nature of the NM process with its
 long waiting periods. People who want to contribute without that
 process need to find a way to do that easily and effectively,
 without spending too much time to find where they can do that.
 [...]
 Manoj, i think you are trying to polarize the discussion.


I think that the discussion is already polarized; there is obviously a sharp
difference of view.  The disagreement is reflected in the inconsistency between
the existence of easy entry points, which you favor. and the whole philosophy
behind the NM process, which was presumably favored by those who set up that
process.

You seem to be assuming that Debian should encourage people to contribute,
whereas the NM process was deliberately set up to discourage applicants.
You assume that applicants are scarce, but the assumption behind NM is that
there are more than enough. You assume that newcomers can be given the benefit
of the doubt, whereas the assumption behind NM is that newcomers should not be
trusted until they have endured trials.  You assume that contributors are
different, but the assumption behind NM is that developers all need to learn
the same skills.  You assume that people can learn as they go, but NM insists
that applicants learn everything up front.

If there are easy entry points in Debian which allow non-DDs to do the same
work as DDs then I can see why a defender of the current NM process would
regard those points as weaknesses in Debian's defenses, which should be closed
rather than advertized.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: How to Increase Contributions from Volunteers

2006-01-04 Thread Thomas Hood
Anthony Towns:
 Anyway, the real point of replying was for me to have some fun playing
 (what I'll hereby dub) the false dichotomy game. That's where you take
 a set of contradictory statements, and setup reasonable scenarios where,
 in fact, both alternatives are true simultaneously.

I'd call it the obscure the point game, because the pairs of statements
were meant to illustrate a difference in attitude, not a set of absolute
contradictions.  But I think you know that.  Because you are really playing
another game, which I'll dub the innuendo game.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Fwd: Bug#344758: init.d script should create /var/run/dirmngr

2006-01-06 Thread Thomas Hood
Would it be useful if the initscript that clears /var/run also created
a directory hierarchy under /var/run?

(There are different ways of implementing thus, but we can talk about
details if this feature is deemed worthwhile.)
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Fwd: Bug#344758: init.d script should create /var/run/dirmngr

2006-01-12 Thread Thomas Hood
The submitter of #344758 wrote:
 The script should create /var/run/dirmngr to allow users to map their
 /var/run to a temporary filesystem like tmpfs. Thanks.

Peter Eisentraut wrote:
 What do you think about this request?  It seems reasonable, but I think if 
 this should be supported, there ought to be a general policy (formal or 
 informal) on it because I think many other init scripts will suffer from 
 similar problems.


A program that needs to put files into a subdirectory of /var/run/ should
create the required subdirectory itself at run time.  This can be done by
an initscript or by the program itself if it runs as root.  Remember ownership
and permissions.

[ ! -d /var/run/foo ]  mkdir --mode=755 /var/run/foo  chown 
foouser:foogroup /var/run/foo

Do this no sooner than /etc/rcS.d/S47 and no later than when the dir is needed. 
 :)

As pointed out by Peter Samuelson, this dir should be removed by the postrm on
purge.  I would advise not including /var/run/foo in the package since it is
superfluous and its presence could hide a bug in your directory-creation code.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Need for launchpad

2006-01-13 Thread Thomas Hood
Steve Langasek wrote:
 FWIW, here's what I see in practice.  We have Ubuntu saying that they
 give back to Debian; and then we have a fairly large divergence
 between what Debian has in unstable and what's going into the next
 Ubuntu release, with IME very little patch submission to the Debian
 BTS, plus particular individuals who are working diligently to make
 sure their own Ubuntu changes get integrated effectively into Debian.


I don't think that patches-submitted-to-the-BTS is a good way to
measure how much Ubuntu is contributing to Debian.  Ubuntu's patches
are readily available:

http://people.ubuntulinux.org/~scott/patches/

If they were submitted to the BTS then that would just create more work
for the Debian maintainer as well as for the Ubuntu maintainer, since
the former would have to tag the report and ensure it gets closed on
the next upload, etc.  Yes, it might be more helpful than the current
breakdown of patches into changelog and packaging components if
there was a further breakdown into parts suitable for Debian and parts
not suitable for Debian.  However, to perform this breakdown would be
for Ubuntu developers to make judgments about what is suitable for
Debian, and I am sure that such judgments would provoke negative
reactions from Debian developers.

So I think that it is up to Debian maintainers to review the Ubuntu
patches from time to time and to backport what appears to be suitable
for Debian.

I agree that it would be nice if Ubuntu developers tried to get their
changes into sid.  It is certainly not their responsibility to do so,
but in my experience Ubuntu developers have been very cooperative when
they have been approached.  So I don't see a big problem.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Need for launchpad

2006-01-13 Thread Thomas Hood
John Hasler wrote:
 I can't see how putting up patches on a Web site is better than
 (or even as good as) filing bug reports.


The web site requires less labor to maintain than hundreds of bug reports.


 Again, why should Ubuntu's patches be handled any differently than
 those of other users?


In short: because Ubuntu isn't just another user, but a whole distribution.


cobaco wrote:
 So how is it the Debian maintainers responsibility to go hunting for
 usefull patches? 


I did not say that it is a DD's responsibility to go hunting for patches.
As is well known, Debian developers don't have responsibilities
(Constitution article 2.1).  However, if a particular Debian Developer
feels motivated to improve his package then he'd be well advised to
examine what Ubuntu has done to it.

Transfer of information requires two parties: a provider and a recipient.
Ubuntu, the provider, has published its changes.  The transfer can only
be completed when the receiver is ready to receive, but this is not
always the condition of Debian maintainers.  So it is efficient if the
transfer take place on the initiative of the latter.  Once he or she is
ready, he or she doesn't have to hunt, because the patches are all at
a known location.

http://people.ubuntulinux.org/~scott/patches/


 Ah, here we come to the heart of the problem: when they have been 
 approached, this clearly points to the fact that the initiative
 for synchronization between ubuntu and debian lies with Debian not
 Ubuntu (by and large, some exceptions have been mentioned).


Right.


 In the mean while Ubuntu proudly calls ubuntu gives things back,
 whereas in reality we mostly have a situation of ubuntu will help
 debian maintainers that want to take things back


I don't see a profound difference between helping to take and giving.
Perhaps what you want is giving on a silver platter?


 - It's this misrepresentation of where (most of) the initiative lies
 which pisses people off.


I think that people are pissed off for other reasons.  (But I admit
that I can only speculate.  I can't read people's hearts and minds.)

Suppose Ubuntu were to cease claiming[0] that it gives back to Debian.
Would everyone be happy then?  I doubt it.

[0] Here: http://ubuntu.com/ubuntu/relationship?highlight=%28debian%29
there's a claim that they send their bugfixes to the Debian developers
responsible for that package in debian and record the patch URL in the
debian bug system.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Need for launchpad

2006-01-15 Thread Thomas Hood
Theodore Ts'o wrote:
 I looked at the patches for e2fsprogs, and I have to conclude that
 unfortunately, they patches are worse than useless.  It's not clear
 exactly what is being diffed against what, but if I had to guess it's
 a diff of Debian stable or Debian testing versus the latest in Ubuntu
 unstable --- or whatever is their development branch.  


I have encountered that problem too---sometimes the patches are diffs
against the wrong version.


 And on _top_ of that, we have all sorts of gratuitous autotools changes.


I can't comment on your package.  I have seen changes in some packages
that looked gratuitious, but then I have been comforted by the thought
that the perpetrators of gratuitous changes are the ones who have to pay
the price for it, because they have to carry such changes forward.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: New experimental sysvinit

2006-01-15 Thread Thomas Hood
sysvinit 2.86.ds1-10 is now in incoming.  Along with udev 0.080-1 this
should fix the problem (/dev/pts not mounted early enough) that kept some
people from using bootlogd.  Beyond that, it is the latest of a string of
experimental releases.  The sysvinit team is hoping that it is not too
far off base in regarding this to be a candidate for release to unstable.
Again, TIA for testing it.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: when and why did python(-minimal) become essential?

2006-01-18 Thread Thomas Hood
Steve Langasek wrote:
 Given that python-minimal is Essential: yes in Ubuntu, the *only*
 use for this package in Debian (given that there would be no
 packages in the wild that depend on it -- the definition of Essential
 is that you don't need to depend on it) is if we make it Essential: yes
 as well.


I don't see why.  If python-minimal were included in Debian then some
packages that currently Depend on python could (if their needs are
minimal) Depend on python-minimal instead.  This would be an improvement,
and obtaining this benefit does not require that python-minimal be
Essential: yes in Debian.

In any case I am hoping to see python-minimal included in Debian.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: udev naming problems for eth*

2006-01-18 Thread Thomas Hood
 beside the fact that I find useful to name eth0 the realtek and eth1 the 
 other, there is a casuality in the naming process that I cannot remove


If you want to avoid racing with the kernel then you should choose
stable names from another namespace than the one that the kernel uses.
Suggestion: Use 'eth_0' and 'eth_1' instead of 'eth0' and 'eth1'.

Md: Or is there something in udevd now that will prevent such races?

What I mean by 'races' are sequences like these:

   * Kernel creates eth0
   * Userspace notices eth0, looks at its properties, and...
   * Kernel creates eth1
   *  ...tries to rename it to 'eth1', but that name is taken

-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: when and why did python(-minimal) become essential?

2006-01-18 Thread Thomas Hood
 In any case I am hoping to see python-minimal included in Debian.

I now see that it is already in sid.  :)

$ apt-cache madison python-minimal
python-minimal |2.3.5-5 | http://ftp.nl.debian.org sid/main Packages
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: udev naming problems for eth*

2006-01-18 Thread Thomas Hood
Md wrote:
 SuSE uses some scripts to handle persistent interface names
 [...] I had no time yet to investigate the details.

I just looked at the rename_netiface script in that package.  The
following comments in the script give an idea of how it handles the
race problem.

# look for a network interface name that is still not
# used as persistent name. At first it tries the name the
# interface currently has. If this name is already occupied,
# then increase the number and try again.
# To check if a name is occupied we have to look in
# /etc/udev/rules.d/60-net_*.rules and in /tmp/used_interface_names*.
# The latter serves as temporary registration file to avoid race
# conditions. It will be removed when the script exits.

# Simply try to rename directly, because it will work in most cases

# Generate a temporary interface name

# Rename it to the temporary name.
# Then try several times to rename it to new name

Now trying several times, etc., may work, but it's a kludge.  There are
sound ways of resolving contention for a shared resource.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: when and why did python(-minimal) become essential?

2006-01-20 Thread Thomas Hood
Matt Zimmerman wrote:
 The compromise we struck with upstream was that we would not give
 the user a system with a broken Python.


So upstream objects to the separate packaging of python-minimal unless
all of python is installed when python-minimal is installed (which in
Ubuntu's case is: always) unless the user takes special action to
prevent this.  Hmm.

Given that Debian does not have python in base and that some Debian
packagers would like to make use of python-minimal, and Debian
presumably does not want to make python-minimal Essential: yes, I'd
suggest that a different way be sought for satisfying upstream.

I'll assume that python2.4-minimal Recommending: python2.4 won't be
enough.

How about this?  The current python2.4-minimal package contains
/usr/bin/python2.4.  We would move this to /usr/lib/python2.4/interpreter
so that it is no longer present on the standard search path.  The full
python2.4 package would contain a symlink /usr/bin/python2.4 -
/usr/lib/python2.4/interpreter to make the interpreter available on the
path.  python-minimal Depends on python2.4-minimal and contains the
symlink /usr/bin/python - /usr/bin/python2.4.  In addition it would
contain the symlink /usr/lib/python/interpreter -
/usr/lib/python2.4/interpreter.  Packages that currently Depend on
python but use only minimal functionality could Depend on python-minimal
but they would have to run python using /usr/lib/python/interpreter.
The stripped down python interpreter would be hidden from command-line
users but would still be available for use by packaged programs.


Thomas Bushnell wrote:
 Ok, but now I'm confused: why is python-minimal needed in Essential?
 Why not simply depend on it straightforwardly?


   http://marc.theaimsgroup.com/?l=debian-develm=113768382100129w=2
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Need for launchpad

2006-01-20 Thread Thomas Hood
I wrote:
 Suppose Ubuntu were to cease claiming[0] that it gives back to Debian.
 Would everyone be happy then?  I doubt it.
 
 [0] Here: http://ubuntu.com/ubuntu/relationship?highlight=%28debian%29
 there's a claim that they send their bugfixes to the Debian developers
 responsible for that package in debian and record the patch URL in the
 debian bug system.


Looking at that page today I see that it has changed.  It seems to be
more accurate now, though I didn't keep a copy of the old text with which
I could compare what is written now:

 Ubuntu and Debian are distinct but parallel and closely linked
 systems. The Ubuntu project seeks to complement the Debian project in
 the following areas:
 [...]
 When a bug is reported in the Debian bug tracking system and then later
 fixed in Ubuntu, the fixes are communicated back directly to the Debian
 developers responsible for that package in Debian and record the patch
 URL in the debian bug system.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: when and why did python(-minimal) become essential?

2006-01-23 Thread Thomas Hood
Frank_Küster wrote:
 That sounds good, but wouldn't it be even better to have a symlink
 /usr/bin/debpython-minimal or so, pointing to the interpreter?  Then one
 could still replace the interpreter by something else (by putting it
 into /usr/local/bin), for example in order to debug a particularly weird
 problem in a config script?

Or python-minimal could just provide /usr/bin/python-minimal.  Then
programs with minimal requirements would have #!/usr/bin/python-minimal
and their packages would Depend on python-minimal, whereas normal python
programs would have #!/usr/bin/python and would Depend on python.
Behind the scenes /usr/bin/python would be a symlink to
python-minimal but users wouldn't have to know this.  The interpreter
could even be modified so that it allows only modules from the minimal
set to be imported, when run as /usr/bin/python-minimal.

Thus if upstream's concern is that users not have a stripped down python,
then Debian provides a stripped down python-minimal instead.
-- 
Thomas Hood



GPL version option

2006-01-24 Thread Thomas Hood
Now that a draft of GPL version 3 has been published it seems appropriate
to examine what the implications would be for current licensees of GPL'd
software.  For many licensees it will have implications because the software
is licensed under the GPL with a version option.

The text of the GPL itself includes this section:

   9. The Free Software Foundation may publish revised and/or new versions
 of the General Public License from time to time.  Such new versions will
 be similar in spirit to the present version, but may differ in detail to
 address new problems or concerns.

 Each version is given a distinguishing version number.  If the Program
 specifies a version number of this License which applies to it and any
 later version, you have the option of following the terms and conditions
 either of that version or of any later version published by the Free
 Software Foundation.  If the Program does not specify a version number of
 this License, you may choose any version ever published by the Free Software
 Foundation.

Actual source files contain text like this (with version option):

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

but some of them contain text like this (without version option):

   This package is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; version 2 dated June, 1991.

I had never paid much attention to this before and to my surprise I found
several source files that _I_ had written which lacked the version option.
When I examined other source files I found a bit of a mess.  Several
debian/copyright files contained without option texts whereas the source
files themselves contains with option texts.  These had to be corrected.

My guess is that there may be other packages out there that need to be
reviewed with respect to the granting or non-granting of the GPL version
option.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: /run vs. /lib/run

2006-01-25 Thread Thomas Hood
Peter Samuelson wrote:
 That's a bug, IMO - they should mkdir -p in their init scripts if
 necessary.  It's not like that's hard to do.

Tim Cutts wrote:
 [...] In my case I was mounting /var/run  
 and /var/lock as  tmpfs filesystems all the time to reduce hard disk  
 access on a machine that was running all the time.


Ubuntu is already mounting tmpfs's on /var/lock and /var/run.  It's a
reasonable thing to do and we should support it.  That means that
packages using these directories should create any subdirectories they
need.

Don't forget to set ownership and permissions.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: conffile purging and maintainer scripts

2006-03-10 Thread Thomas Hood
Roger Leigh wrote:
 Until last month, dpkg forgot about conffiles which were removed or
 moved on package upgrade.  As a consequence, maintainers had to
 remember to purge these conffiles by hand in the package postrm
 script.


I just want to highlight the word these above in order to reduce the
possibility of confusion.

Postrms should not delete files that are currently conffiles of the package.
dpkg takes care of deleting such files at the right time.

If a file /etc/foo was formerly a conffile of the package but no longer is so
then /etc/foo should be dealt with in the preinst or postinst.  (Dealing with
it has to take into account both the old and the new behavior of dpkg with
respect to disappearing conffiles.  I speak vaguely here because I haven't
looked into the new behavior.)  If it isn't dealt with there then it might be
appropriate to delete it in the postrm, but not if there is reason to suspect
that some other package is now using /etc/foo.


 1) sarge - etch upgrades
 -
 
 In order to handle upgrades from sarge correctly, maintainers will
 still have to manually remove conffiles in their maintainer scripts
 until at least etch+1 by my reckoning.  Is this correct?


Again, postrms should not remove files that are currently conffiles.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: dicussion about patches ... ignoring patches make motivation to provide them fall

2006-03-20 Thread Thomas Hood
Russ Allbery wrote:
 Whenever this topic comes up on debian-devel, the conversation seems to
 focus on the small minority of maintainers who don't respond to bugs, are
 still active on their packages, resist any attempt at co-maintainership,
 and can't be dealt with through the MIA process.


Yes, these are the most frustrating cases.


 Such people, to the
 extent that they exist, are frustrating; they're also such a small
 minority of the problem that if they were all we had to worry about,
 Debian would be in awesome shape.
 [...]
 If you run into a maintainer who doesn't want your help, move on and try
 another maintainer.


It might not be so simple.  Suppose I have taken it upon myself to push
change Foo through Debian.  The Foo project requires cooperation from
several DDs and at the beginning I can't tell whether I will get that
cooperation from all of them.  After having devoted many hours to project
Foo and after the passage of some months I find that progress is blocked
by needed changes to package P.  I write to the maintainer of P but get no
reply.  After repeating this a few times I (finally!) get a message from
the P maintainer... about his having more important things to do than deal
with my patch.  Time goes by and the patch is never spoken of again.  Of
course I move on and do something else.  But I have wasted a lot of time,
Foo never gets done, and I have learned not to undertake any more projects
like Foo in the future.  Not within Debian, anyway.

Purely hypothetical case, but it could happen.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: dicussion about patches ... ignoring patches make motivation to provide them fall

2006-03-21 Thread Thomas Hood
Me:
 [In the hypothetical case] I write to the maintainer
 of P but get no reply.  After repeating this a few times I (finally!)
 get a message from the P maintainer... about his having more important
 things to do than deal with my patch. [...]

Frans Pop:
 Alternative conclusion to this saga...
 I discuss on d-devel if the Foo project is a worthwhile goal and how I've 
 gotten stuck. There is general agreement that Foo is worth pushing for 
 the next release. I ask for a review of/help with my patches to the 
 packages that block progress, deal with the comments that come back and 
 NMU them (after mailing the maintainer one last time). [...]


Right.  Either way, the maintainer's failure to respond to my messages ends
up costing me a lot of time. The prospect of this is likely to have a negative
impact on my motivation to undertake project Foo in the first place.  This
was the contention expressed in the Subject line and is the only point I would
want to support.  Svenl originally claimed that ignoring patches is an act of
contempt, but I would certainly not go that far.  Yes, responding to a
request would be regarded as elementary politeness in some spheres, but
Debian's social norms are not the same as those of everyday life.
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Emphasize teams, not packages

2006-03-29 Thread Thomas Hood
Jérôme Warnier wrote:
 But [packaging] is not my main contribution to Debian, I propose patches and
 close bugs for many packages I personally use or need for customers, and
 this is not recognized currently as sufficient for becoming a DD... and
 I'm not the only one.

and later wrote:
 So, how can I apply for DDship while doing the things I'm best at?


Obviously you can't, currently.

You aren't the first to see a potential problem with the current equation of 
DD'ship
with Debian project membership.  It's hard to predict whether this will ever 
change.
If you think that it should change then nothing is stopping you from making the
suggestion here.  It's up to the members to decide whether they want to 
implement
such change, though.  (It's a bit of a catch-22, since existing members are less
likely to see the exclusivity of Debian as a problem.  However, you always have 
the
option of participating in some other project, such as Ubuntu, which does 
recognize
contributions other than package maintenance.)
-- 
Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Emphasize teams, not packages

2006-03-31 Thread Thomas Hood
Petter wrote:
 I have not confirmed that this procedure will work, but here is my
 suggestions anyway.
 
 - The Alioth system administrators have asked for help several times.
   Get in touch with them and check what exactly they need help with.
   Do a good job helping them, and prove that way your abilities as a
   system administrator.  Next, contact the new maintainer frontdesk
   and ask how the NM process fit your skill set and interest, and go
   through the process to become a official Debian Developer.


Given that it takes up to two years to process an applicant answering
standard questions from templates, how long is it likely to take to
process someone through a custom process?  Possibly less time if the
applicant doesn't get hung up on difficult questions, but probably
more; and the customization won't scale.  And can we be sure that the
applicant will be subjected to pointless busywork this way (to test
his tolerance for Debian's institution of people carelessly wasting
one another's time)?  Another thing: According to my AM, the applicant's
prior work can't be used to prove his competence because the Front Desk
and the DAM can't be bothered to look at that work.  How do we ensure
that applicants on the custom track will be subjected to similar
obtuseness?  Perhaps there should be a checklist to ensure a level
playing field.

[] Find something that he doesn't know and tell him to go away
   if he doesn't know it
[] Ignore the applicant's past work in Debian
[] Make the applicant rephrase §6.4: Summary of ways maintainer
   scripts are called in his own words
[] Make the applicant wait for months for no particular reason
[] Blame the applicant for above delays

Seriously though, Jerome, I'd advise you not to get your hopes up too
high.  Here's the experience of Debian's newest DD:

Received application2004-04-21
 [...]
 Application Manager recommends to DAM Approved on 2004-07-12
 FD checks completeness of report  Approved on 2006-02-21 by Marc 
 Brockschmidt (he)
 DAM Approval  Approved on 2006-03-20 by Joerg Jaspert 
 (joerg)

-- 
Thomas Hood



Re: Archive maintainers: Please relocate tpctl package

2000-09-06 Thread Thomas Hood
The tpctl packages still haven't been relocated.  Is there 
some holdup?

Thomas

On Mon, 28 Aug, 2000 at 21:49:04 +0100, Adrian Bridgett wrote:
 On Sat, Aug 26, 2000 at 12:04:32 +1200 (+), Michael Beattie wrote:
  On Fri, Aug 25, 2000 at 04:21:21PM -0400, Thomas Hood wrote:
   Hi.
  
   Can someone please move the tpctl debs to the correct location
   in the archives?  Or if this can't be done, can I have an
   explanation why?
 
  It can be done. I will do it in a couple of hours. the proper place for this
  type of message is a bug against ftp.debian.org.
 
 and there has been one filed for months now.  I won't complain - at least
 not until I get ADSL and so can offer to help out.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: Archive maintainers: Please relocate tpctl package

2000-09-11 Thread Thomas Hood

 On Tue, Sep 05, 2000 at 05:05:35PM -0400, Thomas Hood wrote:
  The tpctl packages still haven't been relocated.  Is there
  some holdup?

Michael Beattie wrote:
 Time. sorry, I'll take a look this afternoon.

I see you've done it!  Thanks.

Thomas Hood


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: esound with libasound2

2002-12-04 Thread Thomas Hood
It would be useful if someone would package the current
esound program.  The esound package maintainer has clearly
expressed his lack of interest in doing so.

esound2 anyone?

-- 
Thomas Hood [EMAIL PROTECTED]




Re: apt_preferences man page

2002-12-09 Thread Thomas Hood
Because this matter was mentioned in the 26 November Debian
Weekly News, it seems appropriate to post an update.

Susan Kleinmann took the bull by the horns and rewrote
the page from scratch.  I have proposed some revisions
and hopefully we'll have a finished product soon.  I
append the latest version I have, in the hopes that
people will point out any remaining errors.

--
Thomas Hood

APT_PREFERENCES(5) APT_PREFERENCES(5)



NAME
   apt_preferences - Preference control file for APT

DESCRIPTION
   The  APT preferences file /etc/apt/preferences can be used
   to control which version of a package will be selected for
   installation.

   Several versions of a package may be available for instal­
   lation when the sources.list(5) file  contains  references
   to  more  than  one release (for example, stable and test­
   ing), and several instances of the same version of a pack­
   age  may be available when the file contains references to
   more than one download site for a particular release.  APT
   assigns  a  priority to each instance that is available.
   (In what follows, an instance will be an instance  of  a
   package  that  is available according to sources.list(5).)
   Subject to dependency constraints,  apt-get  installs  the
   instance with the highest priority.

   The APT preferences file overrides the priorities that APT
   assigns to package instances by default, thus  giving  the
   user control over which one is selected.

   APT'S DEFAULT PRIORITY ASSIGNMENTS
   If  there  is no preferences file, or if there is no entry
   in the file that applies to a  particular  instance,  then
   the  priority  assigned  to  an  instance  is the priority
   assigned to the release to which  that  instance  belongs.
   It is possible to single out a release, called the target
   release, which receives  a  higher  priority  than  other
   releases.   The  target  release can be set on the apt-get
   command  line   or   in   the   APT   configuration   file
   /etc/apt/apt.conf.  For example,

   # Command to install the version of some-pkg from the testing
release
   apt-get install -t testing some-pkg

   # Configuration setting to make stable the target release
   APT::Default-Release stable;

   If  a target release has been specified, then APT uses the
   following algorithm to set the priorities of the instances
   of a package.  Assign:

   priority 100
  to  the  instance  of  a  package  that  is already
  installed (if any).

   priority 500
  to  the  instances  of  a  package  that  are   not
  installed  and do not belong to the target release.

   priority 990
  to  the  instances  of  a  package  that  are   not
  installed and belong to the target release.

   If  no  target release has been specified, then APT simply
   assigns priority 100 to all  installed  package  instances
   and priority 500 to all uninstalled package instances.

   APT  then  applies  the following rules to determine which
   instance of a package to install:

   · Never downgrade an installed package unless the priority
 of  an  available  instance of the package exceeds 1000.
 (Note that none of APT's default priorities exceeds this
 threshold;  such  high priorities can only be set in the
 preferences file.)

   · Always  install  or  upgrade  to  the  highest  priority
 instance of a package.

   · If two or more instances of a package have the same pri­
 ority, install or upgrade to the most recent one.

   In a typical situation, the installed instance of a  pack­
   age  (priority  100)  is  not  as  recent  as  one  of the
   instances available from the sites and releases listed  in
   the  sources.list(5) file (priority 500 or 990).  Then the
   package will be upgraded with the command: apt-get install
   or apt-get dist-upgrade.

   Rarely, the installed instance of a package is more recent
   than any of the other available instances.   This  package
   will not be downgraded.

   Sometimes  the  installed  instance  of  a package is more
   recent than the version belonging to the  target  release,
   but  not  as  recent  as a version belonging to some other
   release.  Such a package will indeed be upgraded,  because
   at  least one of the available instances has a higher pri­
   ority than the installed instance.

   THE EFFECT OF APT PREFERENCES
   The APT preferences file allows the  system  administrator
   to customize priorities.  The preferences file consists of
   one or more multi-line records separated by  blank  lines.
   Records can have one of two forms:

   · The  first

Re: apt_preferences man page

2002-12-09 Thread Thomas Hood
(In reply to Travis Crump)

Hello, and thanks for the feedback.

I think that the original is right.  It speaks of the
priority assigned to an instance of a package (i.e.,
a particular version of that package coming from a
particular source).  So although coreutils (the package)
is assigned three different priorities, one instance of
coreutils (4.5.3-4 from http.us.debian.org) is assigned
priority 70, another (4.5.2-1 from http.us.debian.org)
is assigned priority 700, while the installed instance
(also version 4.5.2-1) is assigned priority 100.

It is also necessary to add the and not installed 
clause for obvious reasons.

I have another question about the man page draft, though.
Do we use the word 'release' where we should use the
word 'distribution'?

--
Thomas

Travis Crump wrote:
 Thomas Hood wrote:
 If  a target release has been specified, then APT uses the
 following algorithm to set the priorities of the instances
 of a package.  Assign:
  
 priority 100
to  the  instance  of  a  package  that  is already
installed (if any).
  
 priority 500
to  the  instances  of  a  package  that  are   not
installed  and do not belong to the target release.
  
 priority 990
to  the  instances  of  a  package  that  are   not
installed and belong to the target release.

 Is this right?  Shouldn't it be something to the effect:

  priority 100
 to  the  instance  of  a  package  that  is already
 installed (if any).
 
  priority 500
 to the instances of a package that are available
 in an archive but do not belong to the target release.

  priority 990
 to  the  instances  of  a  package that belong to the
 target release.

 For instance, taking a random package:
 [EMAIL PROTECTED]:~$ apt-cache policy coreutils
 coreutils:
Installed: 4.5.2-1
Candidate: 4.5.2-1
Version Table:
   4.5.3-4 0
   70 http://http.us.debian.org unstable/main Packages
   *** 4.5.2-1 0
  700 http://http.us.debian.org testing/main Packages
  100 /var/lib/dpkg/status

 4.5.2-1 gets both the 100 for being installed and the 700 for belonging
 to the testing release.  There are other places in the man page that use
 this language as well.






Re: /run and read-only /etc

2003-04-10 Thread Thomas Hood
On Wed, 2003-04-09 at 20:22, Jeremy Jackson wrote:
 Clearly what is needed here is an API for resolver updates
 [...]

What you describe is roughly what I wrote up in my last TODO
message.

 In Debian, there should possibly be a policy decided upon.
 (what the dir is, what API is, etc)

I don't immediately see why the resolver management scheme
has to be written up in policy.  It concerns only a small
set of packages.  The APM subsystem uses a similar scheme
(/etc/apm/apmd_proxy, /etc/apm/event.d, etc.) but is nowhere
mentioned in policy.

Eventually, however, there will have to be policy that
forbids routinely writing to files in /etc/.

And there will have to be a FHS change to allow for /run/.

-- 
Thomas Hood [EMAIL PROTECTED]




Re: /run and read-only /etc

2003-04-11 Thread Thomas Hood
/run/
that are not just variable and unshareable but also local -- i.e., they
must be writable independently of network connectivity.  Because /var/
is sometimes remote, the new directory will not be based in /var/;
instead it will be based in the root directory.  Hence, '/run/'.

Problematic passages in the FHS v.2.2
=

2. Since / contains both variable and static data, it needs to be
   mounted read-write.
Surely it isn't mandatory to mount / read-write.  If there is no need
to write to / then / can be mounted read-only.

3.1 Software must never create or require special files or sub-
   directories in the root directory.
We are not software, so it might be that this restriction does not apply.
If the restriction does apply, then the argument is that adding /run is
technically justified and the FHS must be changed to allow it.

5.1 Everything that once went into /usr/ that is written to during
   system operation (as opposed to installation and software maintenance)
   must be in /var/.
Nothing we are planning to put in /run/ was ever in /usr/.

5.2 [/var/]run/ : Data relevant to running processes
This seems to rule out using /var/run/ for storing state information
between invocations of a program.  But we do want to store this sort of
state information in /run/; so this would seem to imply that 'run' is
not an appropriate name for the new directory.  However, 5.13 says that
This directory [viz., /var/run/] contains system information data
describing the system since it was booted.  This is less restrictive
than the earlier description and is quite compatible with how we propose
to use /run/.  I think we can assume that the important difference of
/var/run/ from /var/lib/ is not that it contains information relevant to
running processes, but that it is cleaned out at boot time and is not
necessarily backed up.

-- 
Thomas Hood [EMAIL PROTECTED]




Re: /run and read-only /etc

2003-04-13 Thread Thomas Hood
On Sat, 2003-04-12 at 23:56, Herbert Xu wrote:
  * Change /sbin/pump to:
* Store PID in /run, not in /var/run

 I won't debate whether this is true in general, bug it is certainly
 unnecessary in the case of pump.  I have specifically added code to
 deal with the inability to write to /var/run by making pump fall back
 to using TCP sockets.

Unnecessary; but would using /run for the pidfile be a better
(e.g., simpler) solution?

If not then do you think the TCP-socket approach is the way
to deal with every program that writes a pidfile when /var/
may be absent?
-- 
Thomas Hood [EMAIL PROTECTED]




Re: /run and read-only /etc

2003-04-13 Thread Thomas Hood
On Sat, 2003-04-12 at 10:12, Anthony DeRobertis wrote:
 On Wed, 2003-04-09 at 14:17, Thomas Hood wrote:
* ppp
  * Change /usr/sbin/pppd to:
* Store PID in /run/, not in /var/run/
 Why? Is the goal to make PPP-mounter /var to work?!

I suppose someone might want to mount /var/ across a ppp link.
If we are making the other changes then we might as well make
this one too, unless there is absolutely no point in doing so
(... because it is impossible to mount /var/ across a ppp link
for some reason I am overlooking?).

 If so, pppd has to be moved to /sbin.

Well, /usr/ could be local but /var/ remote.

  The proposed new directory is for files similar to those in /var/run/
  that are not just variable and unshareable but also local -- i.e., they
  must be writable independently of network connectivity.
 
 No, they must be on the root file system, like /bin and /sbin. Remember
 the root FS can be network mounted, e.g., over NFS.

How about this then:
   The proposed new directory is for files that serve similar
   purposes to those in /var/run and that are not just variable
   and unshareable but also available early enough to be used
   by programs in /sbin and /bin.

-- 
Thomas Hood [EMAIL PROTECTED]




Re: Nameserver-pushing mechanism

2003-04-13 Thread Thomas Hood
On Sat, 2003-04-12 at 02:34, Jeremie Koenig wrote:
 Sounds quite good. But I have a suggestion about going one step further:
 include the whole thing into ifupdown.
[...]

In the following, where you write '/etc/resolv-update.d' I guess you
meant to say '/etc/network/resolv-update.d' since /etc/network is
where ifupdown stores its configuration files.

 Underlying programs to configure interfaces (dhcpcd, pppd, ...) would
 put their resolv.conf data in /run/network/resolv.d/interface. They
 have no need to call any script to do the update, ifupdown manages it
 itself.
 [...]

To change my suggestion into yours:
* Move files from /run/resolver/interfaces/ to /run/network/resolv.d/
* Move files from /etc/resolver/update.d to /etc/network/resolv-update.d
* Make the latter scripts get their resolv.conf data from stdin
  instead of from the /run/network/resolv.d/* files
* Rename /etc/init.d/resolver reload to push-resolvers
* Make ifupdown call push-resolvers instead of using a script in
  /etc/network/if-up.d.

The only significant difference is that you would put everything in
the ifupdown package.  Why do that?

 We will also need that ifupdown waits until ppp/dhcp has finished before
 exiting. This has to be done someday, anyway. /run makes it possible,
 since we can create, for instance, a /run/network/pid.ppp0 file to be
 killed -HUP from /etc/ppp/ip(up|down).d/0ifupdown.

I don't understand this.  Why do you want ifupdown not to exit
until while ppp or dhclient are running?

if(up|down) wasn't designed to run as a daemon.

Cheers
-- 
Thomas Hood [EMAIL PROTECTED]




Re: Nameserver-pushing mechanism

2003-04-13 Thread Thomas Hood
On Sun, 2003-04-13 at 19:25, Jeremie Koenig wrote:
 * Make the latter scripts get their resolv.conf data from stdin
   instead of from the /run/network/resolv.d/* files

 This is important. It must be possible to control which nameservers go
 to which recipient script. For instance bind mustn't be fed with
 himself, but must be fed to others.

In my proposal, /etc/init.d/resolver reload generates
/run/resolv.conf, so this isn't an problem.

Sending the resolv.conf data through a pipe makes it only
slightly (if at all) easier to write the update script, and it
elides information (viz., the interface with which the nameserver
is associated) for which the script could have some use.

 [...] the idea
 was not just putting everything into the ifupdown package, but
 integrating it to the ifupdown mechanism.

Yes, it is a good idea to integrate resolver updating
closely with ifupdown.  I am not sure it is appropriate
to use ifupdown directories, though, as if we were
extending ifupdown proper.  The resolver is not part of
ifupdown.

 Having the nameserver list as a part of each interface's configuration
 may be useful/handy/logical.

I think this part of your proposal can be regarded as a wish
for ifupdown to be extended so that one can specify nameservers
for each logical interface.  Listed nameservers would be added
through the resolver update mechanism that we will be providing.
Good idea for the future; I've added it to the TODO list.

 Sorry, I was unclear. I meant that ifup should wait until the interface
 is effectively brought up before exiting. In the case of ppp (I don't
 know about dhcp), ifupdown just launches pppd, then exit.

OK, comprendo.

 Ifup should wait for success (SIGHUP) or failure (pppd dies). This way
 it can know the status of the interface better, and full configuration
 or failure to configure is made when ifup exits.

Yes, ifupdown should handle interface-up failures better than
it does.  There are several bug reports open about this already,
e.g., #82339 and those merged with it.

And yes, in order to check for ppp's success ifup would have to
wait for some signal from ppp.  You might want to file a wish
for this, including your SIGHUP idea or a patch if you have one.
Perhaps a wish should be filed against ppp too, because the 
basic problem is that pon doesn't wait to see if the interface
comes up successfully.

In any case, this functionality is absent from the present
ppp and ifupdown and may continue to be absent for a long time.
Therefore, we have to make the resolver update stuff work with
ifupdown in its present form.  That means adding scripts to the
/etc/ppp/ip-(up|down).d/ and /etc/network/if-(up|down).d/ dirs.

If ifupdown is enhanced so that (as mentioned above) it
* waits to see if pppd succeeds, and
* handles nameserver addition on ifup, deletion on ifdown,
then the scripts can be eliminated.

-- 
Thomas Hood [EMAIL PROTECTED]




Re: Nameserver-pushing mechanism

2003-04-14 Thread Thomas Hood
Proposal: Implementation steps for dynamic resolver configuration

Assuming that it is impossible to update networking daemons and
DNS caches simultaneously with providing the infrastructure for
dynamic resolver configuration, we need a plan for doing it in
stages.

Each of the following steps should be completed before the next
one is taken.

* Modified sysvinit package creates /run/
* New resolver package includes /etc/init.d/resolver which
  generates /run/resolv.conf from /run/resolver/interface/*
  and does a run-parts on /etc/resolver/update.d/
* Networking daemon packages and ifupdown provide dynamic
  nameserver data in /run/resolver/interface/IFACE (in
  resolv.conf format) and call /etc/init.d/resolver reload
  on interface up, but continue to futz with /etc/resolv.conf
  as they do now
* Modified bind package provides /etc/resolver/update.d/bind
  which generates a new named.conf forwarders{} fragment.
  On installation, the package optionally sets up named.conf
  to include this fragment.  Likewise for other DNS caches.  
* Modified resolver package depends on the latter versions
  of the networking daemon packages and ifupdown.  On 
  installation, optionally changes /etc/resolv.conf into a
  symlink to /run/resolv.conf
* Modified networking daemon packages depend on the latter
  version of resolver and no longer futz with /etc/resolv.conf

Does this look reasonable?

-- 
Thomas Hood [EMAIL PROTECTED]




Re: Nameserver-pushing mechanism

2003-04-14 Thread Thomas Hood
On Mon, 2003-04-14 at 20:08, Keegan Quinn wrote:
 If we're going to have /run/resolver, why not use /run/resolver/resolv.conf?  

Fine with me.  Any objections?

-- 
Thomas Hood [EMAIL PROTECTED]




Re: /run and read-only /etc

2003-04-15 Thread Thomas Hood
On 8 April 2003 Marco d'Itri [EMAIL PROTECTED] wrote:
 On Apr 07, Thomas Hood [EMAIL PROTECTED] wrote:
A difficulty is that only a whole options { ... };
statement can be included from the named configuration file,
not just the forwarders { ... }; statement inside it.

You can include a file even inside the options keyword.

On 8 April 2003 Anthony DeRobertis [EMAIL PROTECTED] wrote:
 Just tested it (with a different option than forwarders) and it
 seems you can certainly use
   include file;
 inside of options { ... }.

Unfortunately you seem to be wrong, at least with regard to
bind version 1:8.3.4-4.  If named.conf (or named.conf.options)
contains:

options {
directory /var/cache/bind;
include /run/bind/named.forwarders;
};

and /run/bind/named.forwarders contains (with a real address
in place of aa.bb.cc.dd):

forwarders { 
aa.bb.cc.dd;
};

then an error message is printed in the syslog on named reload:

Apr 15 20:34:24 thanatos named[25582]: /etc/bind/named.conf:23:
syntax error near include

whereas if /etc/bind/named.conf contains:

options {
directory /var/cache/bind;
forwarders { 
   aa.bb.cc.dd;
};
};

then there is no error message.  It seems that the documentation is
telling the truth when it says (/usr/share/doc/bind/html/include.html):

The include statement inserts the specified file
at the point that the include statement is encountered.
It cannot be used within another statement, though,
so a line such as
  acl internal_hosts { include internal_hosts.acl; }; 
 
   is not allowed.

Were the two of you running a different version of bind?

On 8 April I wrote:
 I'm glad to hear this because it means that one could
 include a file containing only the forwarders { }
 statement.

I'm now disappointed to discover that this is not possible.

-- 
Thomas Hood [EMAIL PROTECTED]




Re: stop the manage with debconf madness

2003-04-17 Thread Thomas Hood
On Thu, 2003-04-17 at 01:08, Colin Walters wrote:
 I just installed laptop-net, becuase it looked similar to something
 I'd like to work on.

You might want to look at ifupdown-roaming too
http://panopticon.csustan.edu/thood/ifupdown-roaming.html

-- 
Thomas Hood [EMAIL PROTECTED]




Re: If Debian decides that the Gnu Free Doc License is not free...

2003-04-21 Thread Thomas Hood
[Subject line shortened and cc: list cut down]

On Mon, 2003-04-21 at 08:08, Hans Reiser wrote:
 I find it unspeakably ingrateful to Stallman that some of you begrudge 
 him his right to express his (discomforting to some) views to all who 
 use his software, and to ensure that they are not removed by those suits 
 who are discomforted.

I, for one, am not ungrateful for the contributions that Richard
Stallman and you -- Hans Reiser -- have made.

If, however, you are saying that Debian can only use your work on the
condition that Debian becomes your mouthpiece, then I find that an
unacceptable demand.  No gratitude is due for software that comes
with such conditions attached.  Such a tainted offer should be
politely declined.

(By the way, I don't think that suits have a lot of influence over
what happens in Debian.  Debian developers are concerned, above all,
with making a free operating system.)

 As far as I am concerned, I have no desire to have ReiserFS distributed 
 for free by anyone who removes the GNU manifesto or similar expressions 
 from Stallman's work (or my own) and redistributes it.  It is simply a 
 matter of respect that is due the author.

Respect is due; but it is up to Debian to decide how to show respect.

The central question is this.  If you are not satisfied by Debian's
show of respect, what are you going to do about it?

Consistently with freedom you can write to the Debian maintainer,
complain on a mailing list, and so on.  Fine.  Hopefully an 
accommodation can be found.

If, on the other hand, you assert a legal right to be shown respect
in a way that you determine, then it becomes clear that your work
is not DFSG-free and so not distributable by Debian.

 ReiserFS will be converting to the Gnu Free Doc License for its 
 documentation. 

 I look forward to the release of GPL V3 which will hopefully cover fair 
 crediting of code as well as documentation, and stem this rising tide of 
 plagiarism and political bowlderization by distros.

I think it is altogether reasonable to require that the authors
of software be credited.  However, it must be up to Debian to
decide how to give that credit.

Bowlderization is the removal of content from works.  The issue
there is freedom of speech, not software freedom.  Free speech is
indeed important in all areas of life.  Debian should not interfere
with anyone's freedom of speech.  Notwithstanding this, Debian's
role is not that of soapbox for politically active programmers.
So, while Debian might choose to distribute this or that text
(unbowlderized!) as a service to its users, IMHO it should not under
any circumstances allow itself to be *compelled* to distribute any
text verbatim, no matter how attractive the software to which that
text is attached.  An exception is made for license texts.

DFSG 4 determines how far Debian can go to accommodate an author's
demand that his or her code be distributed unchanged.  Yes, Debian
will agree to distribute the original code, but only if the code
can be patched for building.  So, in the case of mkreiserfs: Yes,
Debian will agree to distribute the original code with its
excessively verbose credits message, but only if the message can
be omitted from the running program.  Out of respect for the
authors, Debian should also include the message in the doc directory
and under --version.  But if I were the maintainer I wouldn't go
any further than that.

 I want the same visibility of credits for reiserfs that movies
 give for their actors.  I don't want the distro choosing how
 they are displayed because some distros do things like create
 boot time splash screens that tell about themselves instead
 of the authors, and so I have to say that their track record
 demonstrates that they cannot be trusted with that task.
 I think the authors should be the ones to decide how to list
 the credits.  Any end user should of course be free to delete
 all the credits he wants to.

It is becoming clearer that your software is not DFSG-free.

-- 
Thomas Hood [EMAIL PROTECTED]




/run/, resolvconf and read-only root

2003-04-26 Thread Thomas Hood
/interface/lo
and run update-resolver
  * dnscache
* Something similar

3. Read-only /
==

If / is to be mounted read-only in normal use, files that are
modified in normal use cannot be stored in /etc/.

TODO, wishes filed
  * sysvinit
#150355: Move motd to /var/lib/
#188087 [DONE in 2.85-1]: Eliminate ioctl.save
  * util-linux
#156489 [PENDING?]: Move adjtime out of /etc/
  * ppp
#187756: Tolerate read-only /etc/
  * pppconfig
#187810 [PENDING?]: Support read-only /etc/
#187651: Make resolv.conf futzing optional
  * cupsys
#187954 [PENDING]: Move printcap.cups under /var/

TODO 
  * ppp
* Change /usr/sbin/pppd to:
  * Store pidfile in /run/, not in /var/run/
  * dhcp3-client
* Change /sbin/dhclient to:
  * By default, store pidfile in /run/, not in /var/run/
  * ifupdown
* Store ifstate in /run/network/, not in /etc/network/
  * diskless tools
* Fix
  * sysvinit
* Add support for mounting / read-only.
* Add support for mounting /run/ as a separate filesystem.
* The patches in #30446 and #186892 should be reviewed
  in implementing this.

WONTDO
  * linuxlogo
#187953 [REJECTED?]: Do not store linuxlogo files in /etc/.
  The administrator will have to deal with linuxlogo files.
  

-- 
Thomas Hood [EMAIL PROTECTED]




Re: /run and read-only /etc

2003-04-28 Thread Thomas Hood
Jamie Wilkinson wrote:
 That is right!  The core of the matter is not whether
 filesystems need to be mounted over the network or not,
 but whether the parts of the filesystem you are attempting
 to write to are on the root filesystem or not.

The essence of /run/ had better not include that it be a
directory on the root filesystem, because the current proposal
is that it be possible for /run/ to be a RAM-based filesystem
on systems with read-only root media.

[... in another message:]
 Thus we don't need to compare /run to /var/run, but make /run available
 for the same purposes of the entirety of /var but only in the case that
 a required subdirectory of /var doesn't exist.

I balk at this.  IMHO we should call the new directory '/run/' 
if and only if we are going to use it for the same purposes
for which we use /var/run/.  If the new directory is to be a
whole parallel local var hierarchy then we should call it
something like '/lvar/'.  However, I don't think we need a
whole parallel local var.

 This works for the case that
 some programs need a /var/run and some need a /var/state
 and some need a /var/lib for their file;

/var/state/ is deprecated.

Files stored in the proposed new directory will be lost on reboot,
so it is not suited to be a lib directory.

 there will be so few programs actually
 using /run that there is no need to separate /run into further
 subdirectories for each of the /var subdirectories.

/var/ contains thirteen subdirectories on my system.  For which
of these is a guaranteed-to-be-local variant needed?  So far,
a case has been made only for run.

With thanks for your /run/ patches...
-- 
Thomas Hood [EMAIL PROTECTED]




Re: /run/, resolvconf and read-only root

2003-04-28 Thread Thomas Hood
On Mon, 2003-04-28 at 00:01, Sam Hartman wrote:
 1) Why are people mounting root read-only?

Frank (Not his real name) has a machine with a local
read-only boot medium and a network connection but no local
hard disk.

Jane finds it nice that her /etc/ hierarchy changes only
when she administers her machine, not during normal use,
and that /run/ contains information only relevant to the
current boot session.  This makes it easier for her to make
and keep track of her backups.

George mounts /etc/ read-only because it seems like this
ought to increase the security of his system.

 2) When root is read-only, what information is variable
 and what information  should be immutable?

The distinction between variable and non-variable is drawn
by the FHS.  It was the basis for splitting /var out of /usr.

 Why is this a reasonable categorization?

It is reasonable to distinguish between variable and non-variable
files because the distinction makes it possible to segregate the
different sorts of files into different filesystems which may be
then be handled differently -- e.g., stored on different sorts of
media.

 3)  What information needs to go in /var vs /run?

Because /var can be an NFS mount, some programs (e.g.,
networking daemons) necessarily run before /var is available.
Those that need to store state in a run directory will use
/run/.  All others must use /var/run/.

 I will follow any related changes to policy to the best
 of my ability.

OK, but we should not wait for policy to change before
implementing this.

-- 
Thomas Hood [EMAIL PROTECTED]




Re: /run and read-only /etc

2003-04-28 Thread Thomas Hood
On Mon, 2003-04-28 at 18:30, [EMAIL PROTECTED] wrote:
 I don't like the idea of having multiple files to turn off logins.  (I
 can't log into my system, and /etc/nologin doesn't exist!  What? didn't you
 know about this *other* file?) I also don't want to solve this with a
 symlink.

Yes, let's try to depend as little as possible on symlink solutions.

It seems reasonable to me that if logins can be locked out either
variably (by a program) or non-variably (by the administrator) --
each way independently of the other -- then each should have its
own key to the lock.  Of course there are many ways to
implement a shared lock.

 I would favor (even though it's weird from the pan-unix admin point of
 view) just deprecating /etc/nologin in favor of something more sensible. 

So you would prefer it if /etc/nologin were simply replaced by,
e.g., /run/nologin?

 It would also be nice to have some blessing of /run in the policy first,
 but that doesn't seem terribly likely.

What is more important for now is whether there is broad enough
agreement with the reasoning behind /run/.

 These are not strongly held positions.  Please do try to convince me to be
 less of an obstruction

I don't have strong views about the fate of nologin either...
except that it should not be in /etc.  Perhaps Jamie Wilkinson will
have more to say on this subject.

-- 
Thomas Hood [EMAIL PROTECTED]




Re: Bug#191036: create /run for programs that run before /var is mounted

2003-04-29 Thread Thomas Hood
I agree with Manoj when he says:
 I think it is premature to [r]atify into policy an action
 that has not been fully decided upon, and has not yet had
 all the kinks ironed out [...]

However, there does need to be some discussion of what
properties /run/ will have.  Early in the debian-devel 
discussion it was suggested that /run/ be required to be
RAM-based, that it be initialised with a skeleton, etc.

As the discussion went on there seemed to be agreement 
that /run/'s properties should be determined by the 
problem it is solving, namely, the problem of there being
nowhere to store runtime state prior to the availability of
/var/run/ on a system that mounts /var/ from the network.
To solve this problem, /run/ needs to be available locally
so that it can be mounted early, probably by
/etc/rcS.d/S35mountall.sh .

I would argue that for the present /run/ should be so defined,
and otherwise should be implemented as simply as possible.

Proposed list of properties of /run/:
* Available and empty after /etc/rcS.d/S35mountall.sh runs
* No skeleton
* Files stored in /run/ are not reaped
* A program should *only* use /run/ if it *must* do so because
  it has to store something before /var/run/ becomes available
  on systems that mount /var/ over NFS.
-- 
Thomas Hood [EMAIL PROTECTED]




Re: /run/, resolvconf and read-only root

2003-04-30 Thread Thomas Hood
Whether we end up with /run/, resolvconf and read-only root
depends a lot on whether the maintainers of the affected packages
support the project.  So far the response has not been positive.
Here is a quick summary for the packages that were on my TODO list.

Creating /run/
  base-files Change policy first
  pamNot convinced; wait and see
  login  Perhaps; change policy first
  sysvinit   (no reply)
  util-linux (no reply)

Implementing variable resolver configuration
  pump   OK
  ppp(no reply)
  pppconfig  (no reply)
  ifupdown   Don't bother me

Moving variable files out of /etc/
  cupsys OK
  util-linux Looks OK
  sysvinit   (no reply)
  ppp(no reply)
  pppconfig  (no reply)
  linuxlogo  No + sarcasm

-- 
Thomas Hood [EMAIL PROTECTED]




Re: /run/, resolvconf and read-only root

2003-04-30 Thread Thomas Hood
On Wed, 2003-04-30 at 15:13, Arthur de Jong wrote:
 I think it should be possible for any program that writes to /etc (it it
 cannot use /var) either to be configurable to store it's data somewhere
 else or use a symlink to store the data somwhere else (e.g. /proc/flashrom
 or /nfsmounteddiskbutnotroot or other unusual place). I think that should
 be the first step in tris transition.

Would you find /etc/run/ more acceptable?

 I haven't seen a very good description of /run yet and I'm not completely
 sure that something like a place to write files to when you can't write
 to /var yet is useful. This is not a useful description because /var may
 be mounted at different times on different systems (e.g. nfs mounted /var
 vs localy mounted /var).

The description does not have to be much more specific than
that in order to guarantee that /run/ solves the problem,
which is that there are certain programs pre-required for
networking which, ipso facto, cannot use network-mounted
filesystems to store their state.

Is /run/ useful?  It solves the problem.

Of course, it is not the only possible solution to the problem.
If you wish, you can regard /run/ as an interim solution, to
be used until such time as programs are rewritten to make
/run/ no longer necessary.

-- 
Thomas Hood [EMAIL PROTECTED]




Re: /run/, resolvconf and read-only root

2003-05-20 Thread Thomas Hood
[/run/ and] read-only root
~~
The /run/ idea is shelved, unless someone wants to take up
the torch for it.  Run-time state files moved out of /etc/ will
have to go into /var/run/.  The program, therefore, is:

1. Wherever possible, state files in /etc/ should be eliminated
   or moved to /var/run/.

2. If the latter cannot be done then programs should at least
   support the file being replaced by a symlink to a location
   outside of /etc/.

There has been some progress on #1.  For example, ioctl.save has
ceased to be, and printcap.cups is now kept in /var/run/cups/ .

Some files can be dealt with in way #2; for example, ifstate.

A summary of progress to date be found in the README file at:
   http://panopticon.csustan.edu/thood/readonly-root.html

resolvconf
~~
The resolvconf initiative is now being hosted on alioth.
The name of the project is update-resolv.
http://alioth.debian.org/projects/update-resolv/

Interested parties are invited to subscribe to the
update-resolv-devel mailing list and to examine the
latest release of the resolvconf package.
(The current release is 0.6.)

-- 
Thomas Hood [EMAIL PROTECTED]




Update re: read-only root filesystem

2003-06-21 Thread Thomas Hood
Some progress has been made toward the goal of making
Debian easier to use with a read-only root filesystem.
Action has been taken to remove variable files from /etc/,
or at least to make it possible to do so locally, in the
following packages: cupsys, laptop-net, pppconfig, sysvinit.

Packages that still employ variable files in /etc/ include:
mount, ifupdown, dhcpcd, linuxlogo, ppp, util-linux.
Fortunately, some of the files can be replaced by symlinks.
See my README file at
http://panopticon.csustan.edu/thood/readonly-root.html
for (incomplete) information.

Many thanks to the maintainers who have been supporting
this effort.
--
Thomas Hood




Re: Update re: read-only root filesystem

2003-06-22 Thread Thomas Hood
On Sun, 2003-06-22 at 01:02, Xavier Roche wrote:
 There are other problems : for example it seems that the system 
 changes the /dev/ttyXX or /dev/pts/XX ownership depending on who is being
 logged  in.. 

To tell the truth, I didn't realize that so many files in /dev/
were being fiddled.  Obviously, one solution to the problem is
to have a separate writable /dev/ filesystem, e.g., devfs.

The question is: Should we concede that a separate /dev/ fs is
required for running with a read-only root filesystem, or should we
take steps to eliminate fiddling with /dev/ files?  I haven't
looked into this question at all, since I have been satisfied with
devfs.

 Is there a list of devices that are supposed to change (rights/ownership)
 during time?

Look in the SE Linux packages for this kind of information.

 And should I fill a BTS for the /etc/init.d/sysklogd bogus with
 read-only /dev problem anyway?

It is worth filing a report to ask that the script not try to
change the permissions and ownership of the pipe if it is not 
necessary to do so, and that it tolerate failure.  I'll file it.

--
Thomas




Re: Update re: read-only root filesystem

2003-06-22 Thread Thomas Hood
On Sun, 2003-06-22 at 11:52, Xavier Roche wrote:
 Another remark for the HOWTO : mounting /tmp in tmpfs (since 2.4.1 ?)
 allows you not to resevre space for /tmp on a specific partition

Remark added.

  The question is: Should we concede that a separate /dev/ fs is
  required for running with a read-only root filesystem
 
 Dunno.. shall we consider devfs and tmpfs as standard (which is IMHO a
 good idea) for future releases?

No need.  It is sufficient that /tmp/ and /dev/ be separate, writable,
filesystems.  It is a local decision whether to make these tmpfs and
devfs, respectively.

--
Thomas




Resolvconf -- a package to manage /etc/resolv.conf

2003-07-05 Thread Thomas Hood
these packages for use with resolvconf.  I hope that in the fullness
of time, seamless resolvconf support will be added to these packages
too.

In general, any package that currently overwrites /etc/resolv.conf
can be adapted to work with resolvconf while preserving backward
compatibility by introducing a code fragment like the following.

if [ -x /sbin/resolvconf ] ; then
  if [ $DIRECTION = up ] ; then
 echo -n $RESOLVINFO | /sbin/resolvconf -a $IFACE
  else
 /sbin/resolvconf -d $IFACE
  fi
else
 (... existing resolv.conf cleverness ...)
fi

Credit
~~
The basic idea for resolvconf originally came from Emile van Bergen.
I claim any braindamage in the implementation as my own.

Status
~~
Resolvconf is ready for consideration and experimental use.  Get it
in the resolvconf section of the update-resolv project at alioth.
   http://alioth.debian.org/projects/update-resolv

N.B. If you have an earlier version of resolvconf installed on your
system then you must PURGE that version before installing this one;
otherwise obsolete configuration files might be left around.

Feedback about the package is welcome.  Please let me know about
any other packages that should be made to work with resolvconf.

Future
~~
* Before entering the Debian archive it would be nice if resolvconf
  were supported by all packages that currently futz with
  /etc/resolv.conf, including pump and bind.
* The scripts in /etc/resolvconf/update.d/ should go into the
  packages of the same names.

--
Thomas Hood





Re: Resolvconf -- a package to manage /etc/resolv.conf

2003-07-06 Thread Thomas Hood
On Sat, 2003-07-05 at 22:40, Simon Hürlimann wrote:
 I'd prefer update-resolv like
  update-alternatives update-initrd
  update-catalog  update-ispell-dictionary
  update-default-aspell   update-menus
  update-default-ispell   update-mime
 to name just a few.

Resolvconf isn't really comparable to the update-* utilities.
Unlike them, resolvconf takes information on its standard input.
And unlike them, it run during normal use of the machine, not
at administration time.  The update-* programs usually modify
files in /etc/, whereas one of the reasons for creating
resolvconf is to avoid modifying files in /etc/.

--
Thomas Hood




Re: Resolvconf -- a package to manage /etc/resolv.conf

2003-07-06 Thread Thomas Hood
On Sun, 2003-07-06 at 01:00, Goswin Brederlow wrote:
 You should think of a mechanism for daemons to get notified about
 changes in resolv.conf.

There is already such a mechanism.  See below.

 Like providing a function to register a script
 and a list of arguments (like the PID of the program to
 notify). Whenever the resolv.conf changes all currently registered
 scripts would be called with their respective arguments.
 
 The simplest form would be:
 
 resolv.conf-register /etc/init.d/squid reload
 
 That would make squid to reload its config each time a nameserver is
 added or removed.

Currently, scripts in /etc/resolvconf/update.d/ get run when
resolver information changes.  So, would it suffice to create
/etc/resolvconf/update.d/squid containing the following?
#!/bin/sh
/etc/init.d/squid reload

--
Thomas Hood




Re: Resolvconf -- a package to manage /etc/resolv.conf

2003-07-06 Thread Thomas Hood
On Sun, 2003-07-06 at 01:32, Marco d'Itri wrote:
 On Jul 05, Thomas Hood [EMAIL PROTECTED] wrote:
  * Before entering the Debian archive it would be nice if resolvconf
were supported by all packages that currently futz with
/etc/resolv.conf, including pump and bind.
 If you mean that if should be mandatory to install this package on every
 name server, then it would not be nice at all.

No, I meant that before entering the Debian archive it would
be nice if resolvconf were supported by all packages that
currently futz with /etc/resolv.conf, including pump and bind.

--
Thomas Hood




Re: Resolvconf -- a package to manage /etc/resolv.conf

2003-07-06 Thread Thomas Hood
 On Sun, 2003-07-06 at 12:13, Thomas Hood wrote:
  No, I meant that before entering the Debian archive it would
  be nice if resolvconf were supported by all packages that
  currently futz with /etc/resolv.conf, including pump and bind.
 Which other packages?

I guess I need to explain more clearly.  First.  Currently,
making certain packages work with resolvconf requires some
manual changes to configuration files.  The changes are not
large: just adding a couple of lines to initscripts and such.
Still, I think it would be nice if such packages worked with
resolvconf -- if resolvconf happens to be installed -- without
requiring any manual changes.  I won't explain here how this
can be done; please see the announcement and bug reports
#194204 and #199255 for details.

At the moment, the only packages I know of that need some
adaptation are pump and bind.  There are probably others.
Someone has mentioned squid, so I will investigate squid
later today, but at first glance it looks as if no changes
to squid will be required.

Second, resolvconf's usefulness in allowing the relocation of
variable files out of /etc/ will be greatest if packages that
currently write resolver information into files in /etc/ , such
as pump, are changed so that when resolvconf is installed they
send that information to resolvconf instead.  Again, please see
#194204.

My aim is not to make resolvconf mandatory; it is to have
packages work properly with resolvconf *if* resolvconf is
installed.  When resolvconf is not installed, other packages
should continue to do what they did before.

--
Thomas Hood




Re: Resolvconf -- a package to manage /etc/resolv.conf

2003-07-06 Thread Thomas Hood
On Sun, 2003-07-06 at 12:42, Eduard Bloch wrote:
 Please, would you consider to add another feature: priorising some
 entries depending on the source.  That means:

 pppoeconf's and pppconfig's script run the tool with parameter --class
 dialup, dhcp clients with --class dynamic and the default class would
 be static. In some config file, the user defines that dialup gets
 priority one, dynamic two and static three (for example), and
 resolvconf merges the existing dns entries in the appropriate order.

Let me start by saying that resolv.conf is generated by
/etc/resolvconf/update.d/libc , which, being a conffile,
can be customized by the admin.

Your idea strikes me as a good one.  It would add some
complexity to the system, but it would provide more
information for /etc/resolvconf/update.d/libc to use when
it generates the resolv.conf file.  Currently the script
discriminates only on the basis of interface type (i.e.,
lo, ppp or eth).

However, I would only want to add this feature if we were
certain that it was needed.

--
Thomas Hood




Re: Resolvconf -- a package to manage /etc/resolv.conf

2003-07-06 Thread Thomas Hood
On Sun, 2003-07-06 at 01:52, Nick Phillips wrote:
 Actually I think the simplest form would be to have /etc/resolvconf/notify.d
 and run all scripts in there at the relevant times, with any necessary
 arguments (which would be standard).

Please take a look at how resolvconf runs the scripts in 
/etc/resolvconf/update.d/ and let me know if you think
anything else is needed.

Alioth was down for a while but I just checked and the deb
is once again available (in the resolvconf section of the
update-resolv project).
  http://alioth.debian.org/project/showfiles.php?group_id=1227

--
Thomas






Re: Juridical prosecution

2003-07-07 Thread Thomas Hood
On Mon, 2003-07-07 at 09:48, Andreas Tille wrote:
 On Sun, 6 Jul 2003, Branden Robinson wrote:
 And the cluelessness Oscar this year goes too... Mr Sobek
  But the competition is always so fierce, and the year isn't over yet...
 But I wonder if some clever person might just fake cluelessness to grab the
 price. How to distinguish those people?

If it is a cluelessness _Oscar_, then presumably it is an award
for faking it; no?

Beware, this might be my own attempt to win.

--
Thomas Hood




Resolvconf 0.28

2003-07-09 Thread Thomas Hood
I wrote:
 Currently, scripts in /etc/resolvconf/update.d/ get run when
 resolver information changes.  So, would it suffice to create
 /etc/resolvconf/update.d/squid containing the following?
 #!/bin/sh
 /etc/init.d/squid reload

As of resolvconf 0.28, such scripts should be placed in
/etc/resolvconf/update-libc.d/ .

Resolvconf needs more testing.  Get the .deb in the resolvconf
section of the update-resolv project at alioth:
http://alioth.debian.org/projects/update-resolv/
If you have comments, please send them to me; and join the 
update-resolv-devel mailing list also at alioth.

--
Thomas Hood




Re: May packages rm -rf subdirectories of /etc/ ?

2003-07-24 Thread Thomas Hood
On Thu, 2003-07-24 at 08:47, Andreas Metzler wrote:
 It really sucks to handle this if you want/need to get rid of it (if
 it is unmodified) not only on purge but on upgrades. - You'll need
 
 if [ $1 =  configure ]  \
 dpkg --compare-versions $2 le-nl 1.2.3  \
 [ -e /etc/foo ]  \
 [ `md5sum /etc/foo | cut -d\  -f1` = 
 6bea09fbb18e4676012105fa5fc726c6 ]
 then
 echo Removing orphaned unmodified configfile /etc/foo 12
 rm /etc/foo
 fi

In a discussion that followed from this thread off-list, some
people agreed that the administrator should be asked what
he or she wants to do with an obsolete conffile.  The conffile
should not be deleted silently because other packages may be
using the file.

Here is how I see it.  On install of the new version of foo
which lacks the former foo conffile /etc/foo.conf,

* dpkg informs the user that /etc/foo.conf is no longer a
  conffile of foo;
* dpkg says whether or not /etc/foo.conf was changed from the
  original;
* dpkg offers to display the file, to start a shell so that
  the user can check things out, or to do one of three things
  to the file:
  * leave the file as it is (= the current behavior),
  * delete the file (= the default if the file has not been changed),
  or,
  * rename the file to /etc/foo.conf.dpkg-old (= the default if
the file has been changed)

--
Thomas





Re: May packages rm -rf subdirectories of /etc/ ?

2003-07-24 Thread Thomas Hood
On Thu, 2003-07-24 at 13:46, Stephen Frost wrote:
 I see this as totally bogus.  Either the conffile is shared or it isn't.
 If it's shared then the packages involved know this

Package foo which eliminates /etc/foo.conf doesn't know
that there is not some other package, bar, which Depends
on foo and uses /etc/foo.conf .  That's the problem.  See
#108587 for additional discussion.

--
Thomas




Re: May packages rm -rf subdirectories of /etc/ ?

2003-07-24 Thread Thomas Hood
On Thu, 2003-07-24 at 14:53, Stephen Frost wrote:
 * Thomas Hood ([EMAIL PROTECTED]) wrote:
  Package foo which eliminates /etc/foo.conf doesn't know
  that there is not some other package, bar, which Depends
  on foo and uses /etc/foo.conf .  That's the problem.  See
  #108587 for additional discussion.
 
 The maintainer should really know.  The maintainer is more likely to
 know than the user in many cases.  I think it would be worthwhile for
 policy to be modified to require notification when a sharing of this
 kind happens.  I know that I'd expect someone to tell me if they're
 using a conffile from my package.

If this were required in policy, then there ought to be an easy
way to comply.  We could allow packages to list Conffiles that
are not shipped with the package; these would have to be included
in some package upon which the dependent package Depends.  That
would give dpkg the information it needs to decide whether it
is OK to delete the conffile when foo abandons it.  If bar listed
foo.conf as a conffile, then bar could inherit the file when foo
abandoned it.

Perhaps that could be made to work, but it would be complex,
and dpkg is already beyond the capacity of Debian to maintain
properly.

--
Thomas




Re: May packages rm -rf subdirectories of /etc/ ?

2003-07-24 Thread Thomas Hood
Permitted or not, lots of packages do it.  32 on my system.
Just try doing this on your own system:

grep 'rm -rf' /var/lib/dpkg/info/* | grep /etc

A lot of packages put configuration files into directories that
belong to other packages.  Maintainers of such packages should
make sure that the host package's postrm doesn't wipe out
their configuration files on purge.

--
Thomas




Re: May packages rm -rf subdirectories of /etc/ ?

2003-07-25 Thread Thomas Hood
On Fri, 2003-07-25 at 07:59, Manoj Srivastava wrote:
   Umm. apt allows you to determine reverse depends.  From there
  there is an easy hop to sending email to ask the develoeprsa in
  question; or to exaimine a package to look at its conffiles. 

This doesn't solve the problem of the dependent package being
broken by the removal of the conffile upon which it has been
depending.  A _new_ version of the dependent package may have
been released to the archive, but this is not the version that
the victim has installed on his computer.

Nick Phillips made a good point, however, when he said that
conffiles are no different from other files in this respect.
If bar depends on foo, then bar might be broken if _any_ file
is removed from foo.  Yet we do not do anything special when
foo version 2.0 lacks an ordinary file that was contained in foo
version 1.0.  So we should not do anything special for conffiles
either but (as Manoj Srivastava says) we should rely on
communication among maintainers to avoid problems.

Conffiles are different in one respect, which that is that they
can be locally modified.  When a conffile is to be overwritten
and it has been modified, the user is asked for permission and
the old version is backed up as *.dpkg-old.  So when a conffile
is to be deleted and it has been modified, the user should be
asked for permission and the file renamed to *.dpkg-old
(or *.dpkg-orphaned).  Agree?

--
Thomas




Re: Bug#201023: dosemu: purging doesmu wipes out all user data

2003-07-25 Thread Thomas Hood
Re:
1. dpkg -L
2. conffiles belonging to the package
3. configuration files other than conffiles belonging to the package
4. package's log output, cached compiled versions of conffiles, etc.
5. user data created using the package

On Fri, 2003-07-25 at 09:01, Manoj Srivastava wrote:
  Here is my suggestion for how purge should be handled.  Purge would
  delete #1 through #4 _and_ everything in /var/lib/pckg/.  User
  data created using the package [#5] must then not be stored in
  /var/lib/pckg/ but somewhere else, e.g., in someone's home
  directory.  Dosemu, for example, could store the not-to-be-purged
  DOS image in user dosemu's home dir.
 
   umm, no. Postgres should certainly not try and store the
  database under /home; since the DB can grow huge.

It would be awfully convenient if packages could do a rm -rf
/var/lib/pckg/ on purge, but we know this deletes things
in some cases that should not be deleted.  So I am proposing
that rm -rf /var/lib/pckg/ always be permitted, and that
any data that is not to be deleted on purge be stored elsewhere.
I don't say where else it _should_ be stored.  Perhaps postgres
data could be stored in another subdirectory of /var/lib/, e.g.,
/var/lib/postgres-data/ .  That understood, is the proposal sound?

--
Thomas




Re: Bug#201023: dosemu: purging doesmu wipes out all user data

2003-07-25 Thread Thomas Hood
On Fri, 2003-07-25 at 11:19, Manoj Srivastava wrote:
   Not really. Why do we need this overly micromanaging rule in
  policy? As long as it understood that user data is not to be deleted,
  why can't I put user data in /var/lib/pkg/ if I so desire, as long
  as I take care to not rm -rf that dir?

That's fine.  The original complaint [1] was that dosemu purged
user data.  At some stage it was suggested [2] that packages should
not delete entire directories indiscriminately.   I replied [3]
that packages be allowed to delete at least /var/lib/pkg/ .
You are right that we should not _require_ any package to delete
its /var/lib/pkg/ .

What I am more concerned about is configuration file directories.
A lot of packages delete /etc/ trees on purge.  Earlier I was
thinking that Debian should have a policy forbidding that, but
now think that existing policy may be sufficient.  Under current
policy, a package can delete /etc/foo only if no other package
uses /etc/foo to store configuration files.  If another package
does use /etc/foo to store configuration files then deleting
those files would violate 10.7.3 and 10.7.4 .

[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?archive=nobug=201023
[2] http://marc.theaimsgroup.com/?l=debian-develm=105827881413400w=2
http://marc.theaimsgroup.com/?l=debian-develm=105833979508949w=2
[3] http://marc.theaimsgroup.com/?l=debian-develm=105878073004572w=2

--
Thomas




Re: unicode

2003-07-25 Thread Thomas Hood
On Fri, 2003-07-25 at 11:20, Colin Watson wrote:
 On Fri, Jul 25, 2003 at 10:04:26AM +0100, David Pashley wrote:
  Probably the biggest unicode problem I have noticed is with man and/or
  less where it can't display dashes correctly. At least it doesn't seem
  to work out of the box.
 
 In groff \- is a dash, - is a hyphen. People need to use the right one.
 If you have other problems let me know, since I'm not aware of any in
 unstable right now.

In unicode, there are at least these:

ASCII hyphen- (0x2D)
hyphen   (0x2010)
non-breaking hyphen   (0x2011)
subtraction sign (0x2212)
en dash  (0x2013)
em dash  (0x2014)
horizontal bar   (0x2015)

--
Thomas




Re: May packages rm -rf subdirectories of /etc/ ?

2003-07-25 Thread Thomas Hood
On Fri, 2003-07-25 at 11:21, Manoj Srivastava wrote:
 On 25 Jul 2003 09:20:20 +0200, Thomas Hood [EMAIL PROTECTED] said: 
  Conffiles are different in one respect, which that is that they can
  be locally modified.  When a conffile is to be overwritten and it
  has been modified, the user is asked for permission and the old
  version is backed up as *.dpkg-old.  So when a conffile is to be
  deleted and it has been modified, the user should be asked for
  permission and the file renamed to *.dpkg-old (or *.dpkg-orphaned).
  Agree?
 
   No. Since this scenario only happens when the conffile is
  going to be ignored anyway, why do I want to have an locally modified
  version lying around by default?

If the conffile is unmodified it is removed.  If it has been
modified then the default option (of the two presented to the
user) would be to rename the file.

If you are asking why there should be a backup, then notice
that the same question can be asked about any backup file.

Perhaps you are thinking that no backup is needed because
foo no longer lists foo.conf as a conffile.  But it is quite
easy to imagine circumstances in which the admin might want
to look in the old conffile.  Perhaps he will need the values
in it when he uses foo's fancy new debconf-driven configuration
scheme.  :)

So why rename the file at all?  Because the *.dpkg-old suffix
will deactivate the file if it is in a run-parts directory 
and will generally make it clear that the file is no longer in
use.

--
Thomas Hood




Re: Interesting problem in timezoneconf package

2003-07-27 Thread Thomas Hood
On Sun, 2003-07-27 at 12:44, Colin Watson wrote:
 I tested this before posting. No, -e is a little more forgiving than
 that, as stated in bash(1):
 
   -e  Exit  immediately if a simple command (see SHELL
   GRAMMAR above) exits  with  a  non-zero  status.
   The  shell  does  not  exit  if the command that
   fails is part of an until or while loop, part of
   an  if statement, part of a  or || list, or if
   the command's return value is being inverted via
   !.   A  trap  on ERR, if set, is executed before
   the shell exits.

I just tested this too, because I thought that one had to do

   [ $CTL != yes ] || takeaction

rather than

   [ $CTL = yes ]  takeaction

when -e was set in order to avoid immediate exit on the failure
of the $CTL=yes test.  Experiments prove that neither of
these causes immediate exit, even though the second one does
have a nonzero status when $CTL != yes.

--
Thomas





Bug#203131: ITP: resolvconf -- Nameserver information manager

2003-07-27 Thread Thomas Hood
Package: wnpp
Version: unavailable; reported 2003-07-27
Severity: wishlist

* Package name: resolvconf
  Version : 0.31
  Upstream Author : Thomas Hood [EMAIL PROTECTED]
* URL : http://alioth.debian.org/projects/update-resolv
* License : GPL
  Description : Nameserver information manager

Simon Kelley [EMAIL PROTECTED] has agreed to co-maintain
this package with me (Thomas Hood [EMAIL PROTECTED]).

(Longer Description)
 Resolvconf is a framework for keeping track of the system's
 information about currently available nameservers.  It sets
 itself up as the intermediary between programs that control
 network interfaces and supply nameserver information, and
 applications that need nameserver information.
 .
 This package contains hook scripts that cause resolvconf to
 collect resolver information from the PPP daemon, DHCP
 clients and ifupdown.  It also contains update scripts
 that provide this information in the required format to the
 libc resolver and bind.  Other packages such as dnsmasq and
 laptop-net also include hooks and update scripts for
 integration with the resolvconf system.

(Announcement)

Summary
~~~
Resolvconf is a proposed standard framework for updating the
system's information about currently available nameservers.

Most importantly, it manages /etc/resolv.conf , but it does 
a bit more than that.

Background and rationale

During the long discussion on debian-devel about making it possible
to mount the root filesystem read-only, it was pointed out that one
of variable files standing in the way is the libc resolver
configuration file, /etc/resolv.conf .  Several programs modify this
file as network interfaces are brought up and down.  This situation
is undesirable not only because it stands in the way of a read-only
rootfs but also because it prevents the user from running more than
one configurer at a time: the second process would overwrite the
first process's changes to resolv.conf.  The latter problem could
be addressed by making configurers cooperate somehow; but this would
not meet another major need: the need to supply resolver information
to DNS cache programs such as named and dnsmasq.  Various packages
have addressed these issues, but only partially and
idiosyncratically.  Resolvconf aims to solve the problem simply and
completely.

Resolvconf
~~
/sbin/resolvconf is a short sh script which I have packaged together
with some hook scripts in a package also called 'resolvconf'.
Resolvconf mediates between programs that supply resolver information
(mainly interface configurers) and those that consume resolver
information (the libc resolver and DNS caches).

Please read the package README file for detailed information.
Here is a summary of how resolvconf works.

Usage
~
Interface configurers send resolver information to resolvconf in the
format of the familiar /etc/resolv.conf file.  Thus, for example,
a program that has configured interface $IFACE would do the following
after generating a resolv.conf file named 'new-resolv.conf'.

  resolvconf -a $IFACE  new-resolv.conf

This command updates the resolver information related to interface
$IFACE.  Any information previously sent for this interface is
overwritten.  On bringing the interface down, the configurer would
do the following.  

  resolvconf -d $IFACE

For another example, a proxy script for pppd could forward to
resolvconf the resolver information that is made available to
ip-up.d/ and ip-down.d/ scripts in environment variables DNS1, etc.

  echo nameserver $DNS1 | resolvconf -a $IFACE

These are just examples.  Appropriate hook scripts are included in
the resolvconf package for ppp, dhcp3-client and ifupdown
(for static inet ifaces).  Support for other configurers including
dhcpcd and laptop-net has been added to scripts belonging to those
packages.

/sbin/resolvconf stores the information sent to it and then runs the
scripts in /etc/resolvconf/update.d/ .  One of the latter generates
the libc resolver configuration file.  Another generates the options
portion of the BIND named configuration file, containing a
forwarders statement listing available nameserver forwarders.
(This allows named effectively to be used as a DNS cache on a system
whose network environment varies, e.g., on a laptop.)  Another
generates a list of forwarders for dnsmasq to use.  Any other program
that needs to take action when resolver information is updated could
likewise employ a script in /etc/resolvconf/update.d/ .

The generation of the resolv.conf file (actually stored at
/var/run/resolvconf/resolv.conf , to which /etc/resolv.conf is
to be symlinked) can be controlled by the admin by editing
/etc/resolvconf/update.d/libc .  Different strategies can be
implemented: e.g., one possible strategy would be to put only the most
recently provided information into resolv.conf .  The current default
strategy is to put *all* available resolver information

  1   2   3   4   >