Pacman

Historical bug tracker for the Pacman package manager.

The pacman bug tracker has moved to gitlab:
https://gitlab.archlinux.org/pacman/pacman/-/issues

This tracker remains open for interaction with historical bugs during the transition period. Any new bugs reports will be closed without further action.
Tasklist

FS#9486 - makepkg uses Arch-specific /etc/profile.d/

Attached to Project: Pacman
Opened by Dan McGee (toofishes) - Thursday, 07 February 2008, 14:52 GMT
Last edited by Allan McRae (Allan) - Wednesday, 30 July 2008, 05:44 GMT
Task Type Bug Report
Category makepkg
Status Closed
Assigned To Xavier (shining)
Dan McGee (toofishes)
Architecture All
Severity Low
Priority Normal
Reported Version 3.1.1
Due in Version 3.2.0
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Summary and Info:
makepkg still sources individual files in /etc/profile.d/*, which could be Arch-specific. Instead, we should probably just source /etc/profile so we have a clean system environment.

This could do weird things with makepkg localization, however, which I just thought of. Maybe we shouldn't source things at all? Argh.

See this comment for details on  bug 9362 :
http://bugs.archlinux.org/task/9362#comment24537
This task depends upon

Closed by  Allan McRae (Allan)
Wednesday, 30 July 2008, 05:44 GMT
Reason for closing:  Fixed
Additional comments about closing:  http://projects.archlinux.org/?p=pacman. git;a=commit;h=0e0a8461
Comment by Xavier (shining) - Friday, 08 February 2008, 17:36 GMT
Well, at least, it wouldn't be a regression, would it?
The locale.sh file in in profile.d , so sourcing the /etc/profile.d/* files, or sourcing /etc/profile
(which sources the /etc/profile.d/* files) should be equivalent, right?

So the weird things with makepkg localization should already be present now (well, maybe they are).

But LC_ALL is not set here. So I should be able to overwrite any locale with LC_ALL=foo makepkg.
Even if it sources things in /etc/profile, it should still work I think. (to be confirmed)
Comment by Roman Kyrylych (Romashka) - Monday, 11 February 2008, 10:35 GMT
This won't work, because setting LANG in /etc/profile.d/locale.sh will change LC_* variables to match LANG.
This can be worked around this way in makepkg:

CURRENT_LC_ALL=LC_ALL
source /etc/profile
LC_ALL=$CURRENT_LC_ALL
...
Comment by Roman Kyrylych (Romashka) - Monday, 11 February 2008, 10:51 GMT
ah, ignore me :)
setting LANG changes all LC_* except LC_ALL,
and when LC_ALL is set before setting LANG - all other LC_* will be not changed by LANG.
Comment by Xavier (shining) - Thursday, 24 July 2008, 09:39 GMT
ping?
Comment by Dan McGee (toofishes) - Friday, 25 July 2008, 01:38 GMT
Are we sure this is not going to introduce a regression?
Comment by Allan McRae (Allan) - Friday, 25 July 2008, 03:03 GMT
You should point the output of "source /etc/profile" at /dev/null

Otherwise, I don't think this will cause a regression. Just to alleviate locale concerns, can you confirm that the output is correct when makepkg is run with and without "LC_ALL=C"?
Comment by Xavier (shining) - Friday, 25 July 2008, 06:51 GMT
Yes I confirm the output is correct in these 2 cases.

As for the /dev/null redirection, I consider a profile script displaying something as a bug, but well..
I put the redirection back, just for the sake of keeping the old behavior.

Loading...