[csw-maintainers] bad interactions with CSWcommon

Ben Walton bwalton at opencsw.org
Sat Jul 10 02:05:37 CEST 2010


Excerpts from Philip Brown's message of Fri Jul 09 15:02:18 -0400 2010:

Hi Phil,

> Research should look into WHY some locales have the symlinks for
> LC_MESSAGES == LC_TIME, and some do not.

I suspect that you added symlinks in CSWcommon for the locales
delivered by the packages that were broken and no other locales.  That
makes sense given what you were attempting to do.

> Even in the package of your "own" that you are complaining about:
> some symlink, and some do not.

Use of LC_TIME is discouraged, but not invalid.  Most packages won't
deliver anything but LC_MESSAGES, which is why this hasn't been hit
until now.  The coreutils case provides symlinks to make the domains
equal too.  (I realize I could fix this in coreutils, I just don't
think that's the best solution.)

> There may be some actual known standard or something, in the realm
> of locales, that makes this a good idea, and actually BREAKS certain
> things if not done.

Not according to the documentation I read (eg: the official
libintl/gettext stuff).

> This is my vague 7-year-fuzzy-memory of the thing. Possibly
> something to do with time/date comparisons and display.

What you did when you added the links in CSWcommon allows programs
that referenced localizations in the LC_TIME domain to function even
though they hadn't properly provided those files.  This would have
been the result of either improper programming (they used LC_TIME when
LC_MESSAGES should have been used) or improper installation routines
(the install should have provided either files or symlinks on its
own).  While it was easier to work around this in CSWcommon, that
allowed the packages themselves to remain broken.

I wonder if this may have originated with the original CSWtextutils,
CSWgfile and CSWshutils packages...?

> And honestly, can you really see me manually putting together
> umpteen symlinks into the common prototype package.. and NOT doing
> all of them... unless I had a fairly good reason at the time?  I
> think you know me better than that by now. :) My usual preference
> would be to either just put in empty directories, or symlink
> everything.

Yes, I do.  I also know that you're likely to err toward the
correctness side of things rather than the easiest route in all
cases...that's what I'm attempting here.  While there aren't likely
many programs using LC_TIME in any serious fashion, there is the
possibility that they could (until it becomes officially deprecated,
but that's hard to do...).

I'll make the offer that if you update CSWcommon to be more correct
and not break CSWcoreutils, I'll re-roll any package that breaks as a
result with a _minimum_ of a manual insertion of the required proper
directories and symlinks and possible a version upgrade/garification.

Thoughts?

Thanks
-Ben
--
Ben Walton
Systems Programmer - CHASS
University of Toronto
C:416.407.5610 | W:416.978.4302



More information about the maintainers mailing list