Bug#594743: texlive-binaries: pdftex slow to generate sources when $HOME contains a trailing "/".
On Mon, Aug 30, 2010 at 06:48:05AM +0900, Norbert Preining wrote:
> >I don't mind taking a look (I am a programmer) if it's likely to be a simple
> >change (i.e., I wouldn't need to have a bunch of requisite knowledge about
> >TexLive and its infrastructure). Point me in the right direction if it's
> >going to save you guys some time.
> I guess it will be around line 52 in current variable.c, in function
> kpathsea_var_value, where the value from getenv is taken.
OK, I'll take a look tomorrow, hopefully.
> >Also, is there a reason why such a fix wouldn't ever make it upstream? Have
> >they already seen this and somehow dismissed it due to another reason?
> Yes, because it *CAN* be considered a feature!
Right -- I see what you're saying now. Upstream or local packagers aren't
necessarily opposed to such a fix, providing it doesn't remove it
completely, as it's a feature. That makes sense, but it's annoying to me
that it more-or-less makes $HOME a special case in terms of this. Hmm.
I see now why this bug hasn't been resolved in four years. :)
> >Did I not also read in the merged bug which 594743 got put into, that tilde
> >expansion worked just fine in texmf.cnf, whereas $HOME still suffered?
> Yes. tilde.c is used for that and it contains already code that handles
> a trailing slash in $HOME. But using $HOME by itself is not treated
> specifically but as any other variable. And so we would have to make
> a copy/call to that code blob that removes trailing /, but *ONLY* for
> $HOME, as for other variables it might be used on purpose!!!!
Of course. If we did this though, we would still have to find a way of
ensuring that a trailing "/" in $HOME is still considered A Good Thing (tm)
if that's what the user really meant. The only way I can see this happening
is through the use of some specific environment variable, as in:
for instance. It's an idea. That way, we still allow users to have this
odd feature of $HOME ending in a trailing slash if that's really what the
> If you want to dive into it, please check out the source code,
> or if you want I can send you variable.c, tilde.c, and anything else
> you want.
It's OK. I think I can find the sources to this and start work on it. I
will let you know if I get stuck though.
Oh -- interestingly enough, Norbert, you were kind of right before. I
checked /etc/passwd on my workstation and found that for my usual $USER,
that my home area field therein, had "/home/$USER/" -- i.e., a trailing
slash. Given I have never ever edited this file directly, clearly something
has added it, although I have no idea what. But it certainly wasn't me. :)
None of my other machines have this (I did check) but then they do run
different bits and pieces of software, although you'd think only something
near the base-system of Debian would need to touch /etc/passwd over the
course of time. Most odd, although that's a mystery I am never likely to
-- Thomas Adam
"Deep in my heart I wish I was wrong. But deep in my heart I know I am
not." -- Morrissey ("Girl Least Likely To" -- off of Viva Hate.)