DevHeads.net

/etc/profile.d/lang.sh -- still needed?

Hello people,

does anybody know if the files /etc/profile.d/lang.{csh,sh} are still used
these days, and what for?
Do we still need them in Fedora?
Should they be installed by default these days?

Any info is appreciated! :)

David Kaspar [Dee'Kej]
*Associate Software Engineer*
*Brno, Czech Republic*

RED HAT | TRIED. TESTED. TRUSTED.
Every airline in the Fortune 500 relies on Red Hat.
Find out why at Trusted | Red Hat <http://www.redhat.com/en/about/trusted>.

Comments

Re: /etc/profile.d/lang.sh -- still needed?

By Jan =?utf-8?Q?P... at 06/07/2018 - 08:50

On 14/05/18 17:19 +0200, David Kaspar [Dee'Kej] wrote:
Frankly, had no idea about that file but apparently it's needed (or
something to that effect) so as to have non-ascii characters rendered
correctly in the terminal-within-WM settings (sway + urxvt256c-ml).
I am not sure what the cause was, could be just missing
LANG=en_US.UTF-8 in the environment -- no idea what's the
intended authoritative "automagic" source for that otherwise.
Or does it mean one shouldn't trust the distribution for
this common convenience anymore?

Please be more considerate even to Rawhide package consumers next time
around and coordinate file migrations between packages properly.
I can see that these files were moved to setup package, but alas,
that hasn't been rebuilt yet. Perhaps versioned dependency or even
path-based one would be justified in this case to prevent unexpected
regressions.

Re: /etc/profile.d/lang.sh -- still needed?

By Kevin Fenzi at 06/07/2018 - 11:23

On 06/07/2018 06:50 AM, Jan Pokorný wrote:
setup was rebuilt... but I untagged it from f29 due to:
<a href="https://bugzilla.redhat.com/show_bug.cgi?id=1585321" title="https://bugzilla.redhat.com/show_bug.cgi?id=1585321">https://bugzilla.redhat.com/show_bug.cgi?id=1585321</a>

(new initscripts conflicted with chkconfig, then when I untagged that
the old initscripts conflicted with setup).

I just tagged it back in.

So, please direct any ire at me, not David.
It was coordinated, just got sidetracked.

kevin

Re: /etc/profile.d/lang.sh -- still needed?

By Jens Petersen at 05/15/2018 - 01:28

On Tue, May 15, 2018 at 12:19 AM, David Kaspar [Dee'Kej] < ... at redhat dot com

They are needed for example to not run Asian and Middle Eastern locales on
the console, which does not support fonts for their characters.

Also for ~/.i18n though dunno if anyone still uses that - I think it is the
only way to override one's locale easily to a non-UTF-8 encoding for
example.

Do you see any problem with them?

Should they be installed by default these days?
Yes

-Jens

/etc/profile.d/lang.sh -- still needed?

By R P Herrold at 05/14/2018 - 10:27

by their terms, they are a collection of I18N and environment
settings.

Are you asking if /bin/sh, and /bin/tcsh are still installed
or used? I certainly install ande use each

One assumes the files could be moved out to 'bash' and 'tcsh'
packagings, if the (unstated) goal is to eliminate
'initscripts' as a standalone package

-- Russ herrold

Re: /etc/profile.d/lang.sh -- still needed?

By David Kaspar at 05/14/2018 - 10:41

​My question was more meant in a sense "are those files still necessary"?
:) I expect they were created to deal with some problems with locale
setting, but from just looking into them it's hard for me to guess what the
initial purpose of them were... :)

​Let me rephrase - if those files are gone completely, will it break
anything? Isn't the functionality of those scripts obsolete nowadays?​

​I'd like to remove them completely if possible, but I don't want to break
anything for our users.​ That's why I would like to know the initial
purpose of those files, and if they are still really needed nowadays... :)

Re: /etc/profile.d/lang.sh -- still needed?

By Akira TAGOH at 05/15/2018 - 02:45

On Tue, May 15, 2018 at 12:41 AM, David Kaspar [Dee'Kej]
< ... at redhat dot com> wrote:
That is used to set up the user specific locale settings. is there any
alternatives to take care of them instead of
/etc/profile.d/lang.{sh,csh} ?

Re: /etc/profile.d/lang.sh -- still needed?

By David Kaspar at 05/15/2018 - 06:39

​No that I'm aware of​

, unfortunately.

I still get the feeling like we are not totally sure these scripts are
still needed nowadays. Do you think it would be too much dangerous to test
if we need still those files in Fedora via the System-wide Change? (I.e. do
the change in rawhide, see if it breaks something. fallback if necessary.)
It could at least tell us the current state of things, and maybe create a
plan on how to fix things, so they could be eventually removed at some
point.

In any case I would like to find a new home for these scripts, so they
don't "block" other work on initscripts package. And if it would turned out
we can't remove those scripts yet, at least to do some cleanup in those
scripts if possible.

Re: /etc/profile.d/lang.sh -- still needed?

By R P Herrold at 05/15/2018 - 08:46

Why take the pain? What is to 'fix'? =-=- This approach is an:
'let's break stuff, and then fix some of it,
eventually, maybe, to the extent we identify it'

IF there were TDD ASSERT testing in place, it might be
possible to locate some of the frammage -- but this is not
anything like where the Fedorproject is

If you wish to 'clean out' initscripts, migrate the content
into the relevant bash, and tcsh packages, and be done with it

-- Russ herrold

Re: /etc/profile.d/lang.sh -- still needed?

By David Kaspar at 05/15/2018 - 11:09

​Yeah, you're right. Good point.​ Though I would prefer these scripts be
moved into 'setup' package instead, so they stay together for easier
maintenance, and because the functionality of lang.sh is not used just by
bash, but other shells can use it as well.​

Re: /etc/profile.d/lang.sh -- still needed?

By Akira TAGOH at 05/15/2018 - 08:30

On Tue, May 15, 2018 at 8:39 PM, David Kaspar [Dee'Kej]
< ... at redhat dot com> wrote:
We definitely need it as long as we are relying on the environment
variable to set a locale. particularly to configure locale for
non-desktop spins. we could have another things though, it's simple
enough. dunno if we really want to have complex things for that.
Or at least you should clarify issues around it if any.

how/what does those scripts "block"?

Re: /etc/profile.d/lang.sh -- still needed?

By David Kaspar at 05/15/2018 - 11:07

​Right now, it depends on the "/usr/sbin/consoletype​", which is also part
of initscripts. I hope it will be possible to just switch it to "tty"
utility instead, so the dependency on initscripts can be completely broken.

Re: /etc/profile.d/lang.sh -- still needed?

By Stephen John Smoogen at 05/14/2018 - 10:51

On 14 May 2018 at 11:41, David Kaspar [Dee'Kej] < ... at redhat dot com> wrote:
A quick review of the files says that all kinds of user related things
will probably "break" from other scripts expecting specific collation
to reports on 'XYZ application is so slooooow' because it is not
getting language setup correctly. [I believe that some of the fixes in
there were from when UTF-8 was coming into play and startup of the
system got slow because every startup script was parsing things in 8+
bit wide when they didn't need to.. this filtered down to fixing speed
issues for users.]

I guess the question is more like: Is this an initscripts problem or
some other part of the OS. If initscripts plans to remove it, I would
definitely expect a systems change because it is going to silently
affect a lot of things which have been getting a 'free' ride from that
environment setup over the years. Some of the problems are probably
fixed, but I expect others are just expecting those .sh to do their
job.