found before:
- programs linked with this glibc, will be able to find its locale-archive
at LOCALE_ARCHIVE_2_11
- for any problem we forgot to mention, we also add the LOCALE_ARCHIVE
variable, checked after LOCALE_ARCHIVE_2_11. I don't know a strong reason to
have it though.
- setuid programs will expect the locale-archive in
/var/run/current-system/sw/lib/locale, usual path of the locale-archive in
nixos, and a path that a sysadmin can set pointing to the locale-archive in
case of non-nixos. setuid programs don't receive the LOCALE_ARCHIVE
variables.
- non-nixos systems will have a check for the locale-archive in /usr/lib/locale
- the glibc programs 'locale' and 'localedef' may be able to find the proper
locale-archive too.
We were also considering getting rid of the locale-archive, and using
locale files directly (like Ubuntu seems to do [1]), maybe using the LOCPATH
variable. But this would not solve the problem of localized setuid programs.
All this came after a 'meeting' with niksnut on irc about this.
[1] http://lwn.net/Articles/244204/
svn path=/nixpkgs/branches/stdenv-updates/; revision=22977
I tried to fix some trivial conflicts.
I don't know if I merged well some more difficult conflicts on openssl/darwin_patch
or haskell-platform.
svn path=/nixpkgs/branches/stdenv-updates/; revision=22878
setting glibc to look for the locale-archive in the usual nixos
/var/run/current-system/sw/lib/locale path.
This solution may give us less problems.
The last problem involved was the lack of locale-archive in setuid/setgid
programs, due to the risk of letting them take the LOCALE_ARCHIVE variable
contents from the caller.
svn path=/nixpkgs/branches/stdenv-updates/; revision=21249
Updating the cross-build expressions, adding some flexibility.
Updated the linux headers used cross building, as 2.6.28 had bugs on endianness in
sparc64.
There were, as usual some bugs in gcc. Maybe not many make a cross compiler to
ultrasparc.
For the record, I could build an ultrasparc kernel with this base nix:
import /etc/nixos/nixpkgs/default.nix # The root nixpkgs default.nix
{
crossSystem = {
config = "sparc64-unknown-linux";
bigEndian = true;
arch = "sparc64";
float = "soft";
withTLS = true;
cpu = "ultrasparc";
};
config = pkgs: {
packageOverrides = pkgs : {
platform = {
name = "sparc64";
kernelHeadersBaseConfig = "sparc64_defconfig";
kernelBaseConfig = "sparc64_defconfig";
kernelArch = "sparc";
kernelAutoModules = false;
kernelTarget = "zImage";
uboot = null;
};
};
};
}
Although it did not boot directly in qemu-system-sparc64:
[sparc64] Kernel already loaded
Unhandled Exception 0x0000000000000020
PC = 0x0000000000404000 NPC = 0x0000000000404004
svn path=/nixpkgs/trunk/; revision=20269
builder.sh already sets postInstall. As a result Glibc had a
retained dependency on bootstrap-tools. Added the "rm" to
builder.sh.
* localesbuilder.sh -> locales-builder.sh.
svn path=/nixpkgs/branches/stdenv-updates/; revision=19516
- Disabling guile test, because one fails. I commented on that in the source.
On cross builds:
- Adding stripping
- Updating the glibc-2.11 expression to match the parameters of glibc-2.9,
which I was updating more.
- Renaming from selfNativeBuildInput to selfBuildNativeInput, so this matches
better the pattern buildNativeInputs.
svn path=/nixpkgs/branches/stdenv-updates/; revision=18550