Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-31 Thread Ian Jackson
Ian Zimmerman writes (Re: Using GNU's install-info in Debian instead of dpkg's 
install-info):
 One more thing: the longer this thread gets, the more I think that the
 original bug is in fact the inclusion of i-i in dpkg.

I'm afraid I have to disagree with you there.  There is nothing wrong
with dpkg containing these relatively small utilities, and adding more
Essential packages (often with complex version-depebndent
cross-dependencies which are difficult to express) just complicates
matters.

 dpkg is a large and crucially important package, and that means the
 maintainers always have something more urgent to do than fixing i-i.  We
 should move it into the info package and make the postinstall code
 conditional on info being installed.

There is no particular reason why the people in charge of install-info
would have to be blocked by the maintainers of the rest of the dpkg
package.  Lots of ways of organising this are possible that don't
depend on a package split.

Ian.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-31 Thread Ian Zimmerman

Ian Z dpkg is a large and crucially important package, and that means
Ian Z the maintainers always have something more urgent to do than
Ian Z fixing i-i.  We should move it into the info package and make the
Ian Z postinstall code conditional on info being installed.

Ian J There is no particular reason why the people in charge of
Ian J install-info would have to be blocked by the maintainers of the
Ian J rest of the dpkg package.  Lots of ways of organising this are
Ian J possible that don't depend on a package split.

This was my hypothesis.  That bugs in install-info were not getting
fixed or even responded to is a fact.

Also, even if division of labour is possible without splitting the
package, getting fixes in an actual version in testing will be difficult
due to the special status of dpkg.  This one I know from past problems
with alternatives handling.

-- 
A true pessimist won't be discouraged by a little success.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-27 Thread Eli Zaretskii
 Date: Fri, 26 May 2006 18:33:18 -0500
 From: [EMAIL PROTECTED] (Karl Berry)
 Cc: debian-dpkg@lists.debian.org, bug-texinfo@gnu.org
 
 Well, the manual changes I personally make are typically fixing packages
 which install themselves wrongly, so a separate part of the file
 wouldn't help.  However, I may be unusual in bothering to do such
 things

If you are unusual, it makes two of us ;-)

 I doubt we need to worry overmuch about manual editing.

Yes, but IMHO we should worry a little bit.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-27 Thread Eli Zaretskii
 From: Ian Zimmerman [EMAIL PROTECTED]
 Date: Fri, 26 May 2006 18:12:02 -0700 (PDT)
 Cc: debian-dpkg@lists.debian.org, [EMAIL PROTECTED], bug-texinfo@gnu.org
 
 
 Karl I wouldn't expect resource consumption to be the problem.  The
 Karl problem I see is breaking a new install of package X because of
 Karl something that has happened with package Y or some administrator's
 Karl action, possibly many years ago.  Requiring this sort of perfect
 Karl consistency of the past to install a package in the present seems
 Karl fundamentally wrong to me, and a frustration for users and
 Karl administrators, not a help.
 
 What consintency is required?  As far as I can see, packages' info files
 are completely independent.

They are _almost_ independent.  The small amount of dependency stems
from the fact that each Info file specifies the section where it wants
to live in DIR.

 In fact it is the _present_ way that poses this problem, if package
 X screws up the dirfile format, Y will not find its section
 correctly (not that it won't happen for other reasons, as I tried to
 explain before).

Karl suggested to make this regeneration of the whole DIR menu as an
optional behavior.  Wouldn't this let us have the cake and eat it,
too?

 Karl I don't understand.  An info file says to install itself in
 Karl section XYZ.  So install-info installs it in section XYZ.  What's
 Karl broken about that?  And what name can be used besides the one the
 Karl info file says, anyway?
 
 How do you __find__ the section in the dirfile?  You must use some awful
 regular expression search to find the spot, which is prone to false
 positives and false negatives.  And then you must cut up the dirfile and
 paste the new bit in.

The code doesn't use any regular expressions, it uses exact text
comparison (strcmp and the like).  It also doesn't cut or paste the
file.  Please take a look at the code.

In a nutshell, the program reads the entire DIR file into memory,
builds the data structure that reflects what's in the menu (i.e. all
the sections and the menu items found in each section), then sorts each
section alphabetically and adds the new entries in the right place in
each section specified in the Info file or the command line.  Then it
produces a new DIR file from the data structure built in memory.

 All of the bugs that I mention, that motivate me
 in this debate, and that would motivate me to work on an implementation,
 spring from this broken process.  There are _many many many_.  Really.
 I cited three I had to report 2 weeks ago or so.  I had reported 2 or
 3 other before.  And there were many I didn't even bother to report,
 preferring like you to hand edit the file in impotent rage.

Well, maybe we should see a sample of those bugs to decide how big is
the problem and how radical should the solution be.  It's possible, at
least in theory, that those bugs are relevant only to the way the
Debian version of install-info works, and don't happen with the GNU
version.  Then again, they might be common bugs.

 Karl Anyway, I really hope Debian I-I and GNU I-I can be merged in the
 Karl ways Norbert was originally proposing (are you even seeing this
 Karl mail any more, Norbert?), even if the whole world can't be fixed
 Karl at the same time.
 
 You see, this is why I was disappointed when the discussion turned in
 the direction of the merge; I sensed (earlier than most people in the
 thread, I think) that the unification goal and the fixing goal are, all
 things considered, incompatible.

FWIW, I don't see any show-stoppers for now, nothing that a bunch of
options cannot resolve.  If we have options that leave everybody
happy, we should be able to merge, don't you think?


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-27 Thread Ian Zimmerman

Eli The code doesn't use any regular expressions, it uses exact text
Eli comparison (strcmp and the like).  

It must take account of the context in some way: section names can
appear elsewhere in the dir file.

I am not saying that this problem is unsolvable in theory.  I am
saying that it is so error prone that bugs will always be present,
and the annoyance factor of the bugs is very high if there's no
global regeneration.

Eli In a nutshell, the program reads the entire DIR file into memory,
Eli builds the data structure that reflects what's in the menu
Eli (i.e. all the sections and the menu items found in each section),
Eli then sorts each section alphabetically and adds the new entries in
Eli the right place in each section specified in the Info file or the
Eli command line.  Then it produces a new DIR file from the data
Eli structure built in memory.

Well, this is both better and worse than I thought.  Better, because
no slicing, but worse, because parsing the whole file amplifies the
parsing problem.

Eli FWIW, I don't see any show-stoppers for now, nothing that a bunch
Eli of options cannot resolve.  If we have options that leave everybody
Eli happy, we should be able to merge, don't you think?

I'd be happy with an option that regenerates the dirfile from the info
files.  Would the GNU side accept such an option?

-- 
A true pessimist won't be discouraged by a little success.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-27 Thread Ian Zimmerman

Norbert But if we want this, do we need a merge at all???

Norbert Couldn't Debian write something like update-info-dir and
Norbert dh_installinfo does in fact nothing besides putting the info
Norbert files into the right directory and adds a call to
Norbert update-info-dir to the postinst script.

Norbert THe funtion update-info-dir would kill the current dir file,
Norbert and call GNU install-info for every info file present. This way
Norbert we would be sure that nobody messes up the dir file. And if,
Norbert then it was GNU I-I.

Sigh.  Nobody seems to read my posts or at least understand what I mean.
Except Ian Jackson :-)

This would not solve the broken parsing problem.

Norbert Disadvantage - we have to get rid of this regexp option -

Which presently doesn't seem to work at all.  Try it.  Look at the bugs
I cited up in the thread.  By numbers.

Norbert rebuild of all packages using info files?

Yes, transition is the only nontrivial part (apart from politics).
Ian left it as an exercise for the reader, and it's a damn hard one.

-- 
A true pessimist won't be discouraged by a little success.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-27 Thread Norbert Preining
On Sam, 27 Mai 2006, Ian Zimmerman wrote:
 Norbert THe funtion update-info-dir would kill the current dir file,
 Norbert and call GNU install-info for every info file present. This way
 Norbert we would be sure that nobody messes up the dir file. And if,
 Norbert then it was GNU I-I.
 
 Sigh.  Nobody seems to read my posts or at least understand what I mean.
 Except Ian Jackson :-)
 
 This would not solve the broken parsing problem.

Well, no and yes. It would solve the problem of the messed DIR file, as
we recreate it always from scratch. And if there is a problem it is
house made by us, or GNU i-i.

If you speak about the parsing of info files (but you dind't as far as I
see), then yes, if an info file is messed up, then we are in trouble.
But this should also be handled by GNU i-i.

So I don't see where the problem of parsing the DIR file comes in? Ok,
assume someone has messed up our info file. Call update-info-dir and the
messed up file is gone, forever, recreated.

I think I must have missed something. I go and read Debian install-info
bugs ;-)

 Norbert Disadvantage - we have to get rid of this regexp option -
 
 Which presently doesn't seem to work at all.  Try it.  Look at the bugs
 I cited up in the thread.  By numbers.

Even better. Let's get rid of it.

 Norbert rebuild of all packages using info files?
 
 Yes, transition is the only nontrivial part (apart from politics).
 Ian left it as an exercise for the reader, and it's a damn hard one.

;-)

Best wishes

Norbert

---
Dr. Norbert Preining preining AT logic DOT at Università di Siena
gpg DSA: 0x09C5B094  fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
---
PUDSEY (n.)
The curious-shaped flat wads of dough left on a kitchen table after
someone has been cutting scones out of it.
--- Douglas Adams, The Meaning of Liff


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-27 Thread Ian Zimmerman

Norbert update-info-dir would kill the current dir file, and call GNU
Norbert install-info for every info file present. This way we would be
 
Norbert sure that nobody messes up the dir file. And if, then it was
Norbert GNU I-I.

Ian This would not solve the broken parsing problem.

Norbert Well, no and yes. It would solve the problem of the messed DIR
Norbert file, as we recreate it always from scratch. And if there is a
Norbert problem it is house made by us, or GNU i-i.

Norbert So I don't see where the problem of parsing the DIR file comes
Norbert in? Ok, assume someone has messed up our info file. Call
Norbert update-info-dir and the messed up file is gone, forever,
Norbert recreated.

It comes in because that's what GNU i-i does to find the section.
I want to avoid it completely, be it in Debian or in GNU.  If GNU
wants to keep the existing way and make the new way active dependent
on an option, that's fine for me.  But the new code path should not
intersect with the old.

-- 
A true pessimist won't be discouraged by a little success.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-27 Thread Eli Zaretskii
 Cc: Ian Zimmerman [EMAIL PROTECTED],  [EMAIL PROTECTED],
 debian-dpkg@lists.debian.org,  bug-texinfo@gnu.org
 From: Ian Zimmerman [EMAIL PROTECTED]
 Date: Sat, 27 May 2006 06:59:15 -0700 (PDT)
 
 
 Eli The code doesn't use any regular expressions, it uses exact text
 Eli comparison (strcmp and the like).  
 
 It must take account of the context in some way: section names can
 appear elsewhere in the dir file.

It uses the context defined by the Info format: a menu starts with the
\n* Menu: header, a menu item starts with a \n*  if the line isn't
a menu header, a section name starts with a \n if the line isn't one
of the above.

 I am not saying that this problem is unsolvable in theory.  I am
 saying that it is so error prone that bugs will always be present,
 and the annoyance factor of the bugs is very high if there's no
 global regeneration.

If the DIR file is invalid as far as the Info format is concerned,
then yes, the code might eventually fail.  But other than that, it is
not prone to bugs that regular expressions are prone to: i.e., it will
never catch any context except precisely as specified above.

 Eli In a nutshell, the program reads the entire DIR file into memory,
 Eli builds the data structure that reflects what's in the menu
 Eli (i.e. all the sections and the menu items found in each section),
 Eli then sorts each section alphabetically and adds the new entries in
 Eli the right place in each section specified in the Info file or the
 Eli command line.  Then it produces a new DIR file from the data
 Eli structure built in memory.
 
 Well, this is both better and worse than I thought.  Better, because
 no slicing, but worse, because parsing the whole file amplifies the
 parsing problem.

Only if the file is invalid, I think.  For such cases, there are some
safety nets in the code, although I'm sure they can be improved.

 I'd be happy with an option that regenerates the dirfile from the info
 files.  Would the GNU side accept such an option?

I think Karl already suggested precisely that.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-27 Thread Norbert Preining
On Sam, 27 Mai 2006, Ian Zimmerman wrote:
 Norbert So I don't see where the problem of parsing the DIR file comes
 Norbert in? Ok, assume someone has messed up our info file. Call
 Norbert update-info-dir and the messed up file is gone, forever,
 Norbert recreated.
 
 It comes in because that's what GNU i-i does to find the section.
 I want to avoid it completely, be it in Debian or in GNU.  If GNU

Ok, but at least we cannot say that a messed up DIR file makes a
problem. The only problem is the parsing algorithm in GNU i-i. What
happens if someone puts the Section text somewhere else.

But I assume that one can fix the GNU i-i versions parsing that the
section search algorithm does not find the description of an entry.

 wants to keep the existing way and make the new way active dependent
 on an option, that's fine for me.  But the new code path should not
 intersect with the old.

The new code-path would be
- parse the info file and extract the section
- write the info into  some sort of config file into a to be specified 
  directory.
- After this read all the config files and generate a dir file from it.

Right?

Best wishes

Norbert

---
Dr. Norbert Preining preining AT logic DOT at Università di Siena
gpg DSA: 0x09C5B094  fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
---
GOLANT (adj.)
Blank, sly and faintly embarrassed. Pertaining to the expression seen
on the face of someone who has clearly forgotten your name.
--- Douglas Adams, The Meaning of Liff


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-27 Thread Norbert Preining
Hi all!

On Sam, 27 Mai 2006, Eli Zaretskii wrote:
 If the DIR file is invalid as far as the Info format is concerned,
 then yes, the code might eventually fail.  But other than that, it is
 not prone to bugs that regular expressions are prone to: i.e., it will
 never catch any context except precisely as specified above.

But wouldn't this make it definitely possible to regenerate the dir file
from all the info files, as I suggested. The only thing we have to make
sure is that the parsing dues not get something wrong *IN A FILE THAT WE
ARE CURRRENTLY CREATING*. So the onyl thing is that GNUi-i created
correct dir files, which I assume.

Best wishes

Norbert

---
Dr. Norbert Preining preining AT logic DOT at Università di Siena
gpg DSA: 0x09C5B094  fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
---
BURBAGE
The sound made by a liftful of people all trying to breathe politely
through their noses.
--- Douglas Adams, The Meaning of Liff


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-27 Thread Ian Zimmerman

Norbert But I assume that one can fix the GNU i-i versions parsing that
Norbert the section search algorithm does not find the description of
Norbert an entry.

As I wrote in my conversation with Eli: yes, in theory.  In practice,
having lived with this way of doing things for a few years (albeit in
Debian i-i, not GNU), I am doubtful that the problems can be eliminated.

Ian wants to keep the existing way and make the new way active dependent
Ian on an option, that's fine for me.  But the new code path should not
Ian intersect with the old.

Norbert The new code-path would be
Norbert - parse the info file and extract the section

Norbert - write the info into  some sort of config file into a to be specified 
Norbert directory.

This step is optional.  The info files themselves can serve as the config
repository, although then there's the additional step of deciding which are
the top ones holding the metadata.

Norbert - After this read all the config files and generate a dir file from it.

Yes.

-- 
A true pessimist won't be discouraged by a little success.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-27 Thread Ian Zimmerman

One more thing: the longer this thread gets, the more I think that the
original bug is in fact the inclusion of i-i in dpkg.

dpkg is a large and crucially important package, and that means the
maintainers always have something more urgent to do than fixing i-i.  We
should move it into the info package and make the postinstall code
conditional on info being installed.

-- 
A true pessimist won't be discouraged by a little success.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-27 Thread Norbert Preining
Hi Ian!

On Sam, 27 Mai 2006, Ian Zimmerman wrote:
 One more thing: the longer this thread gets, the more I think that the
 original bug is in fact the inclusion of i-i in dpkg.

Yup.

 dpkg is a large and crucially important package, and that means the
 maintainers always have something more urgent to do than fixing i-i.  We

This is something I understand.

 should move it into the info package and make the postinstall code
 conditional on info being installed.

Or create a new package install-info? This was suggested before,
together with an adjustment of Priority.

BUT: It is ok if we move this here, but I am not the principal author of
the Debian i-i, and I cannot do much about it than package it. Solutions
to this mess from my side can come only by getting a differnet approach,
ie doing the creating stuff inside GNU i-i.

Anyway, how do we proceed? Move it into a new package in texinfo? And
who will care for the bugs ;-)

Best wishes

Norbert

---
Dr. Norbert Preining preining AT logic DOT at Università di Siena
gpg DSA: 0x09C5B094  fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
---
POLLOCH (n.)
One of those tiny ribbed-plastic and aluminium foil tubs of milk
served on trains enabling you to carry one safely back to you
compartment where your legs in comfort trying to get the bloody things
open.
--- Douglas Adams, The Meaning of Liff


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-27 Thread Ian Zimmerman

Norbert Or create a new package install-info? This was suggested
Norbert before, together with an adjustment of Priority.

Norbert BUT: It is ok if we move this here, but I am not the principal
Norbert author of the Debian i-i, and I cannot do much about it than
Norbert package it. Solutions to this mess from my side can come only
Norbert by getting a differnet approach, ie doing the creating stuff
Norbert inside GNU i-i.

Norbert Anyway, how do we proceed? Move it into a new package in texinfo? And
  ^^^ ?
Norbert who will care for the bugs ;-)

I can take the responsibility for having the regeneration code included in
GNU i-i, in coordination with the GNU people.  As I am not a Debian member,
perhaps you can best take it from there.

-- 
A true pessimist won't be discouraged by a little success.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-27 Thread Norbert Preining
On Sam, 27 Mai 2006, Ian Zimmerman wrote:
 I can take the responsibility for having the regeneration code included in
 GNU i-i, in coordination with the GNU people.  As I am not a Debian member,
 perhaps you can best take it from there.

Perfect with me, really. If you manage to implement the option (see my
other email) than I guess Karl would also be happy to get some help in
install-info.

The rest we will care for.

Best wishes

Norbert

---
Dr. Norbert Preining preining AT logic DOT at Università di Siena
gpg DSA: 0x09C5B094  fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
---
MALIBU (n.)
The height by which the top of a wave exceeds the height to which you
have rolled up your trousers.
--- Douglas Adams, The Meaning of Liff


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-26 Thread Karl Berry
Right.  I have a hard time waiting for the merge to complete.

Well, we're closer to a merge than at any time in the last 10 years or
so (since whenever Debian install-info came into existence), so there is
some cause for hope :).

Good question, and easy to answer with a simple script, at least relative
to the packages I have installed.  I'll do that within a few days.

Great, thanks.

Everything necessary for the installation of a menu entry.  I guess it's
all within INFO-DIR-ENTRY, isn't it?

As far as I can think of, but ...

It wouldn't be visible to end users, and packages would interact with it
through a narrow interface (ie. the revamped install-info).  

In my experience, it is *useful* for people to be able to edit the dir
file.  I don't think we should make it harder to do so, by only allowing
changes through some other file and a regeneration process.  I don't see
that we gain anything critical by it.

I like the idea of being able to regenerate the dir file from installed
info files much more.  And in fact the Texinfo distribution includes
several scripts (fix-info-dir, gen-dir-node, maybe others) to do just
that.  None of them ever seemed to be installable quality.  If that
can be added to install-info (yikes) or one or another of the scripts
made more robust so it could be a standard installed program, that would
be great.

Thanks,
Karl


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-26 Thread Ian Zimmerman

Karl I like the idea of being able to regenerate the dir file from
Karl installed info files much more.  And in fact the Texinfo
Karl distribution includes several scripts (fix-info-dir, gen-dir-node,
Karl maybe others) to do just that.  None of them ever seemed to be
Karl installable quality.  If that can be added to install-info
Karl (yikes) or one or another of the scripts made more robust so it
Karl could be a standard installed program, that would be great.

But, for me to consider it a solution, it would have to be run
by packages in their post-installs, which means manual edits would
be overwritten.

Maybe another idea:  keep a part of the file explicitly reserved
for manual additions, delimit it with some markers.  Anything outside
is fair game for packages.  There is precedent for this in Debian,
e.g. the handling of xorg.conf.

-- 
A true pessimist won't be discouraged by a little success.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-26 Thread Karl Berry
But, for me to consider it a solution, it would have to be run
by packages in their post-installs, which means manual edits would
be overwritten.

Am I understanding right?  You want `make install' for every package to
regenerate the dir node from scratch, based on *every installed info
file*?  I hope not ...

My assumption was that install-info would continue to just read
INFO-DIR-SECTION from the given file and install the given dir entries
in the given sections, and not try to look at any other info file.
That's what it (the GNU version) does now, and this seems right to me.

Maybe I'm not understanding what Debian install-info does.

Maybe another idea:  keep a part of the file explicitly reserved
for manual additions, delimit it with some markers.  

Well, the manual changes I personally make are typically fixing packages
which install themselves wrongly, so a separate part of the file
wouldn't help.  However, I may be unusual in bothering to do such
things, and it's not critical in my life to support it.  I doubt we need
to worry overmuch about manual editing.

Thanks,
karl


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-26 Thread Ian Zimmerman

Ian But, for me to consider it a solution, it would have to be run by
Ian packages in their post-installs, which means manual edits would be
Ian overwritten.

Karl Am I understanding right?  You want `make install' for every
Karl package to regenerate the dir node from scratch, based on *every
Karl installed info file*?  I hope not ...

Yes, that is precisely what I am proposing.  According to Joey Hess
(you do see the whole thread, right?) it isn't too time consuming.
And it relects what Debian does for other things, like menus.

Karl My assumption was that install-info would continue to just read
Karl INFO-DIR-SECTION from the given file and install the given dir
Karl entries in the given sections, and not try to look at any other
  ^^
Karl info file.  That's what it (the GNU version) does now, and this
Karl seems right to me.

The highlighted part is the catch - you're keeping the broken parsing.

Ian Maybe another idea: keep a part of the file explicitly reserved for
Ian manual additions, delimit it with some markers.

Karl Well, the manual changes I personally make are typically fixing
Karl packages which install themselves wrongly, so a separate part of
Karl the file wouldn't help.  

Isn't that need exactly what we're trying to eliminate?

-- 
A true pessimist won't be discouraged by a little success.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-26 Thread Karl Berry
According to Joey Hess (you do see the whole thread, right?) 

Apparently not.  I didn't see that mail, anyway.

it isn't too time consuming.

I wouldn't expect resource consumption to be the problem.  The problem I
see is breaking a new install of package X because of something that has
happened with package Y or some administrator's action, possibly many
years ago.  Requiring this sort of perfect consistency of the past to
install a package in the present seems fundamentally wrong to me, and a
frustration for users and administrators, not a help.

If you want to require it for Debian, that's fine, of course, and it can
be an option or whatever in I-I.  I can imagine many people would like
it.  But, at least in the form I'm envisioning, I don't think it should
be the default for GNU.

And it relects what Debian does for other things, like menus.

Sorry, I don't know what menus you're referring to.

The highlighted part is the catch - you're keeping the broken parsing.

I don't understand.  An info file says to install itself in section XYZ.
So install-info installs it in section XYZ.  What's broken about that?
And what name can be used besides the one the info file says, anyway?

I'm sure you know all this, so now I feel completely lost.

Isn't that need exactly what we're trying to eliminate?

As far as I can see, the way to eliminate manual fixes is to fix the
source Texinfo files in the first place (to use consistent section
names, formatting, etc.), which in fact I have spent a lot of effort on.
The situation is better than it used to be, although of course it's very
far from perfect.


Anyway, I really hope Debian I-I and GNU I-I can be merged in the ways
Norbert was originally proposing (are you even seeing this mail any
more, Norbert?), even if the whole world can't be fixed at the same
time.

Thanks,
karl


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-26 Thread Ian Zimmerman

Karl I wouldn't expect resource consumption to be the problem.  The
Karl problem I see is breaking a new install of package X because of
Karl something that has happened with package Y or some administrator's
Karl action, possibly many years ago.  Requiring this sort of perfect
Karl consistency of the past to install a package in the present seems
Karl fundamentally wrong to me, and a frustration for users and
Karl administrators, not a help.

What consintency is required?  As far as I can see, packages' info files
are completely independent.  In fact it is the _present_ way that poses
this problem, if package X screws up the dirfile format, Y will not find
its section correctly (not that it won't happen for other reasons, as I
tried to explain before).

Karl If you want to require it for Debian, that's fine, of course, and
Karl it can be an option or whatever in I-I.  I can imagine many people
Karl would like it.  But, at least in the form I'm envisioning, I don't
Karl think it should be the default for GNU.

Ian And it relects what Debian does for other things, like menus.

This should of course be reflects, sorry for that.  I should really
learn to use the spellchecker :-(

Karl Sorry, I don't know what menus you're referring to.

All of them.  Debian has a unified system for updating global menus
based on information in packages.  Window manager or desktop menus, HTML
documentation directories, others that I don't know of.  Each package
installs a little configuration file and, at post-install time,
regenerates the whole menu from all packages' bits (including its own).

Ian The highlighted part is the catch - you're keeping the broken
Ian parsing.

Karl I don't understand.  An info file says to install itself in
Karl section XYZ.  So install-info installs it in section XYZ.  What's
Karl broken about that?  And what name can be used besides the one the
Karl info file says, anyway?

How do you __find__ the section in the dirfile?  You must use some awful
regular expression search to find the spot, which is prone to false
positives and false negatives.  And then you must cut up the dirfile and
paste the new bit in.  All of the bugs that I mention, that motivate me
in this debate, and that would motivate me to work on an implementation,
spring from this broken process.  There are _many many many_.  Really.
I cited three I had to report 2 weeks ago or so.  I had reported 2 or
3 other before.  And there were many I didn't even bother to report,
preferring like you to hand edit the file in impotent rage.

Karl Anyway, I really hope Debian I-I and GNU I-I can be merged in the
Karl ways Norbert was originally proposing (are you even seeing this
Karl mail any more, Norbert?), even if the whole world can't be fixed
Karl at the same time.

You see, this is why I was disappointed when the discussion turned in
the direction of the merge; I sensed (earlier than most people in the
thread, I think) that the unification goal and the fixing goal are, all
things considered, incompatible.

(All things means different GNU cultural traditions, personalities, etc.)

-- 
A true pessimist won't be discouraged by a little success.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-25 Thread Joey Hess
Ian Zimmerman wrote:
 It's wrong on two counts:
 1/ The visual format of the dir file is used for collecting the sections.
 This has all the robustness of, say, grepping for text in a Postscript file.
 
 2/ Since no record is kept of the individual additions by packages,
 there's no way to recreate the dir file from scratch.  So, if a package
 does screw up (often due to 1 above), all one can do is manually edit
 the dirfile.  This happens maddeningly often, at least to me:
 see #367255, #367254, #367251.

I agree, there's also all the fun of bugs in packages that have to deal
with the current complex install-info. (Anyone want to fix #337215 or
#357434 for me?)

 There are two proper fixes.  One is in the realm of policy: require
 every info file passed to install-info to contain the full metadata,
 including INFO-DIR-SECTION.  Then we can dispense with the --section
 option completely and 1 magically goes away, while 2 is solved by
 rescanning the metadata in the top-level installed files (as Joey
 suggests in the other thread).
 
 The other way is to keep some kind of simple database on the side which
 install-info first updates, then uses to generate the dirfile.  dpkg is
 a required package, so if install-info stays in dpkg the database library
 must also be required.  I thought of asking the Perl maintainer to move
 the venerable Data::Dumper module into perl-base, that would be enough
 for me.

My experience with using Data::Dumper for long-term data storage is
abysmal, it's on the order of dumping C structs to disk. However, my
benchmarks of parsing /usr/share/info/*.info* for all the metadata I think
install-info should need to use the first method suggests it can be done
without perceivable delay on any modern machine (and even reasonably
quickly on my less than modern one).

When I discussed this IRL at DebConf, one problem raised is that this
still leaves Debian w/o an install-info that behaves like GNU expects,
so we still have the portability problems we have now. I wonder if
there's any way to provide an install-info that ignores most/all
parameters and manages to be effectively compatible with programs
expecting the GNU or Debian install-infos while still avoiding
parsing the info dir file.

-- 
see shy jo


signature.asc
Description: Digital signature


Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-25 Thread Joey Hess
Guillem Jover wrote:
 The nice property of this one, is that then we can conditionally
 call install-info on maintainer scripts, and make the new package
 where install-info is going to be move to, non-essential (after a
 transition phase). I'd go for this one.

It also allows for competing install-info implementations in Debian,
to explore all kinds of interesting[1] ways to better organise and lay out 
the info dir file.

-- 
see shy jo

[1] If anyone still finds info interesting. ;-)


signature.asc
Description: Digital signature


Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-25 Thread Ian Jackson
Ian Zimmerman writes (Re: Using GNU's install-info in Debian instead of dpkg's 
install-info):
 It's wrong on two counts:
 1/ The visual format of the dir file is used for collecting the sections.
 This has all the robustness of, say, grepping for text in a Postscript file.
 
 2/ Since no record is kept of the individual additions by packages,

Just for the record as the original designer and implementer of the
dpkg install-info I agree completely with what Ian Zimmerman says
there.  If I had to do it again I would do it very differently.

 The other way is to keep some kind of simple database on the side which
 install-info first updates, then uses to generate the dirfile.

The right answer is to do it the way the menu system does it: packages
install the info metadata as part of their static contents, in
/usr/share somewhere, and then their postinsts run a script to
regenerate /info/dir from the contents.  When dpkg has hooks (aka
triggers) then this can be used instead of the postinst rune.

Transition from here to there is left as an exercise to the reader
(although some careful thought is necessary as history suggests that
this kind of thing is often screwed up ...)

Ian.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-24 Thread Ian Zimmerman

Karl Hi Ian, (Did you bcc me?  I doubt I am on debian-dpkg :)

No, according to my records I To'd you :-)

Ian For everyone here, the main problem seem to be the Debian vs. GNU
Ian fork.  But for me, the main problem is the bugs.

Karl Well, resolving the fork will presumably only help with being able
Karl to then address the bugs to benefit the most people.

Right.  I have a hard time waiting for the merge to complete.

Ian require every info file passed to install-info to contain the full
Ian metadata, including INFO-DIR-SECTION.

Karl Sounds good, in theory.
Karl In practice, how many currently-installed info files lack
Karl INFO-DIR-SECTION?  

Good question, and easy to answer with a simple script, at least relative
to the packages I have installed.  I'll do that within a few days.

Karl What else do you think we should require?

Everything necessary for the installation of a menu entry.  I guess it's
all within INFO-DIR-ENTRY, isn't it?

Ian The other way is to keep some kind of simple database on the side
Ian which install-info first updates

Karl Adding another database which has to be kept in sync (and which
Karl inevitably will go out of sync and then has to be recovered from)
Karl seems like more trouble to me, not less.

The idea is that it wouldn't be another one, but _the_ authoritative one
from which the visually formatted infodir file could always be re-derived.
It wouldn't be visible to end users, and packages would interact with it
through a narrow interface (ie. the revamped install-info).  So the chance
of it going somehow bad would be much, much smaller than with the visible
dir file.

Karl Can you include bug-texinfo@gnu.org (and whatever on the Debian
Karl side) in future mail?

Sure, and also including myself because Mail-Copies-To doesn't seem to be
operative on the list.

-- 
A true pessimist won't be discouraged by a little success.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-23 Thread Ian Zimmerman

I wanted to help with this, see the parallel thread at 

http://lists.debian.org/debian-dpkg/2006/05/msg00063.html

but unfortunately I see it's moving in a different direction than I
intended.  For everyone here, the main problem seem to be the Debian
vs. GNU fork.  But for me, the main problem is the bugs.  And as I see
it, while the merge might fix some of the particular bugs known right
now, the potential for many more remains, and eventually they'll come
charging back, because the algorithm is wrong.

It's wrong on two counts:
1/ The visual format of the dir file is used for collecting the sections.
This has all the robustness of, say, grepping for text in a Postscript file.

2/ Since no record is kept of the individual additions by packages,
there's no way to recreate the dir file from scratch.  So, if a package
does screw up (often due to 1 above), all one can do is manually edit
the dirfile.  This happens maddeningly often, at least to me:
see #367255, #367254, #367251.

There are two proper fixes.  One is in the realm of policy: require
every info file passed to install-info to contain the full metadata,
including INFO-DIR-SECTION.  Then we can dispense with the --section
option completely and 1 magically goes away, while 2 is solved by
rescanning the metadata in the top-level installed files (as Joey
suggests in the other thread).

The other way is to keep some kind of simple database on the side which
install-info first updates, then uses to generate the dirfile.  dpkg is
a required package, so if install-info stays in dpkg the database library
must also be required.  I thought of asking the Perl maintainer to move
the venerable Data::Dumper module into perl-base, that would be enough
for me.

-- 
A true pessimist won't be discouraged by a little success.


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-23 Thread Guillem Jover
On Tue, 2006-05-23 at 20:14:32 -0700, Ian Zimmerman wrote:
 It's wrong on two counts:
 1/ The visual format of the dir file is used for collecting the sections.
 This has all the robustness of, say, grepping for text in a Postscript file.
 
 2/ Since no record is kept of the individual additions by packages,
 there's no way to recreate the dir file from scratch.  So, if a package
 does screw up (often due to 1 above), all one can do is manually edit
 the dirfile.  This happens maddeningly often, at least to me:
 see #367255, #367254, #367251.

 There are two proper fixes.  One is in the realm of policy: require
 every info file passed to install-info to contain the full metadata,
 including INFO-DIR-SECTION.  Then we can dispense with the --section
 option completely and 1 magically goes away, while 2 is solved by
 rescanning the metadata in the top-level installed files (as Joey
 suggests in the other thread).

The nice property of this one, is that then we can conditionally
call install-info on maintainer scripts, and make the new package
where install-info is going to be move to, non-essential (after a
transition phase). I'd go for this one.

regards,
guillem


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-21 Thread Nicolas François
Hello,

Just to keep you informed, as every one seems to agree on using the GNU
instal-info in Debian, the plan (discussed a little bit at DebConf) is to
first patch install-info to support the dpkg's install-info options:
i.e. mostly the --section and maybe --remove-exactly (maybe the
behavior of the GNU --remove is sufficient; this has to be checked with
the emacs packages).

For the --section option, the GNU's i-i has one argument, and dpkg's one
takes two arguments.
This will probably be the way we can detect whether we want the GNU's or
dpkg's behavior.

I intent to make the patch, but won't be connected until the end of the
month, so if somebody wants to do it, please do.

What I think has to be done for --section is:
 * detect if there are 2 arguments to the --section option
 * detect if this second argument is a file
   (install-info --section section info-file dir-file is a GNU install-info
   command line, it should not be taken as a dpkg command line:
   install-info --section regex section info-file)
Of course if a file exists with the same name as the section, this
algorithm doesn't work. But it doesn't seems to happen according to my dir
file.


On Fri, May 19, 2006 at 09:53:23AM +0200, [EMAIL PROTECTED] wrote:
 
 Of course! How do we come to a conclusion on this topic? I think it is
 up to the dpkg developer to decide.

AFAIU, they agree.

Kind Regards,
-- 
Nekral


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-21 Thread Norbert Preining
Hi Karl!

On Son, 21 Mai 2006, Nicolas François wrote:
 I intent to make the patch, but won't be connected until the end of the
 month, so if somebody wants to do it, please do.

I take a look, but I have a conference at the end of the month, so my
time is limited ...

 What I think has to be done for --section is:
  * detect if there are 2 arguments to the --section option
  * detect if this second argument is a file
(install-info --section section info-file dir-file is a GNU install-info
command line, it should not be taken as a dpkg command line:
install-info --section regex section info-file)
 Of course if a file exists with the same name as the section, this
 algorithm doesn't work. But it doesn't seems to happen according to my dir
 file.

Karl, what do you think. Would this be acceptable to be merged into
install-info?

Best wishes

Norbert

---
Dr. Norbert Preining preining AT logic DOT at Università di Siena
gpg DSA: 0x09C5B094  fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
---
AFFCOT (n.)
The sort of fart you hope people will talk after.
--- Douglas Adams, The Meaning of Liff


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-21 Thread Nicolas François
Hi,

On Sun, May 21, 2006 at 07:50:22PM +0200, Norbert Preining wrote:
 Hi Karl!
 
 On Son, 21 Mai 2006, Nicolas François wrote:
 
  What I think has to be done for --section is:
   * detect if there are 2 arguments to the --section option
   * detect if this second argument is a file
 (install-info --section section info-file dir-file is a GNU 
  install-info
 command line, it should not be taken as a dpkg command line:
 install-info --section regex section info-file)
  Of course if a file exists with the same name as the section, this
  algorithm doesn't work. But it doesn't seems to happen according to my dir
  file.
 
 Karl, what do you think. Would this be acceptable to be merged into
 install-info?

Maybe the change in Debian will have to be temporary (i.e. provide support
for the current behavior of dpkg's i-i for a few (Debian) releases)

Supporting multiple arguments for an option in getopt is not really clean
and having an option which accepts either one or two arguments is maybe
not very clean either (I mean for upstream) (moreover, i-i accepts a
variable number of parameters at the ends).

Maybe we can make a wrapper in Debian (something like the attached script)
that will pass the first argument of the --section option to a new
--section-regex option.  i.e. change
install-info --section regex section info-file
to
ginstall-info --section-regex regex --section section info-file

Maybe Karl will be interested by the --section-regex option.
(It permits to install the info file in a section that match this regex
and is not necessarily exactly the same as specified with --section; the
section specified with --section is still used if no sections match the
regex)

Kind Regards,
-- 
Nekral


install-info.sh
Description: Bourne shell script


Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-21 Thread Norbert Preining
Hi all!

On Son, 21 Mai 2006, Nicolas François wrote:
* detect if there are 2 arguments to the --section option
* detect if this second argument is a file
  (install-info --section section info-file dir-file is a GNU 
   install-info
  command line, it should not be taken as a dpkg command line:
  install-info --section regex section info-file)
   Of course if a file exists with the same name as the section, this
   algorithm doesn't work. But it doesn't seems to happen according to my dir
   file.
  
  Karl, what do you think. Would this be acceptable to be merged into
  install-info?
 
 Maybe the change in Debian will have to be temporary (i.e. provide support
 for the current behavior of dpkg's i-i for a few (Debian) releases)
 
 Supporting multiple arguments for an option in getopt is not really clean
 and having an option which accepts either one or two arguments is maybe
 not very clean either (I mean for upstream) (moreover, i-i accepts a
 variable number of parameters at the ends).

It also seemed to me that hacking this into upstream would not work out,
so I asked Karl.

If we can add the --section-regex argument which would be clean and
useful for upstream, too, we continue as planned before, moving
ginstall-info and the wrapper script into a new package.

 Maybe we can make a wrapper in Debian (something like the attached script)
 that will pass the first argument of the --section option to a new
 --section-regex option.  i.e. change

I will save it away for now.

And implementing the --sectin-regex seems to be a bit easier than
checking for 1 vs 2 argumetns.

I see only one problem: AFAIR the GNU install-info has to be minimal and
cannot rely on (many) other things. But here Karl should tell us more,
what the conditions are.

Best wishes

Norbert

---
Dr. Norbert Preining preining AT logic DOT at Università di Siena
gpg DSA: 0x09C5B094  fp: 14DF 2E6C 0307 BE6D AD76  A9C0 D2BF 4AA3 09C5 B094
---
THRUMSTRER (n.)
The irritating man next to you in a concert who thinks he's (a) the
conductor, (b) the brass section.
--- Douglas Adams, The Meaning of Liff


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-21 Thread Karl Berry
  * detect if there are 2 arguments to the --section option

Sounds fine to me.

It is also ok (preferable) to have --section-regex; of course that's a
lot cleaner, so if that works out ok for Debian, great.  You-all know a
lot better than me.

The prospect of merging Debian i-i into GNU i-i is wonderful.  In
general, I'm not going to be finicky about the details.

Thanks,
karl


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



Re: Using GNU's install-info in Debian instead of dpkg's install-info

2006-05-21 Thread Karl Berry
I see only one problem: AFAIR the GNU install-info has to be minimal and
cannot rely on (many) other things. 

Yes, GNU I-I can't rely on much of anything else.  Probably best for it
to stay a C program.

As I understand it, the wrapper would be in debian only, not gnu.  Works
for me.  Probably nicer than the optional-number-of-arguments-in-getopt
stuff.

Thanks,
k


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