- Nov 14, 2004
-
-
Eelco Dolstra authored
-
- Oct 27, 2004
-
-
Eelco Dolstra authored
* Don't use local file names in tests since they will produce different parse trees depending on the current directory.
-
- Oct 25, 2004
-
-
Eelco Dolstra authored
svn-revision to distributions, which should fix it.
-
Eelco Dolstra authored
-
- Sep 09, 2004
-
-
Eelco Dolstra authored
Previously there was the problem that all files read by nix-env etc. should be reachable and readable by the Nix user. So for instance building a Nix expression in your home directory meant that the home directory should have at least g+x or o+x permission so that the Nix user could reach the Nix expression. Now we just switch back to the original user just prior to reading sources and the like. The places where this happens are somewhat arbitrary, however. Any scope that has a live SwitchToOriginalUser object in it is executed as the original user. * Back out r1385. setreuid() sets the saved uid to the new real/effective uid, which prevents us from switching back to the original uid. setresuid() doesn't have this problem (although the manpage has a bug: specifying -1 for the saved uid doesn't leave it unchanged; an explicit value must be specified).
-
Eelco Dolstra authored
more common than the latter (which exists only on Linux and FreeBSD). We don't really care about dropping the saved IDs since there apparently is no way to quiry them in any case, so it can't influence the build (unlike the effective IDs which are checked by Perl for instance).
-
- Aug 20, 2004
-
-
Eelco Dolstra authored
set the real uid and gid to the effective uid and gid, the Nix binaries can be installed as owned by the Nix user and group instead of root, so no root involvement of any kind is necessary. Linux and FreeBSD have these functions.
-
Eelco Dolstra authored
users. If the configure flag `--enable-setuid' is used, the Nix programs nix-env, nix-store, etc. are installed with the setuid bit turned on so that they are executed as the user and group specified by `--with-nix-user=USER' and `--with-nix-group=GROUP', respectively (with defaults `nix' and `nix'). The setuid programs drop all special privileges if they are executed by a user who is not a member of the Nix group. The setuid feature is a quick hack to enable sharing of a Nix installation between users who trust each other. It is not generally secure, since any user in the Nix group can modify (by building an appropriate derivation) any object in the store, and for instance inject trojans into binaries used by other users. The setuid programs are owned by root, not the Nix user. This is because on Unix normal users cannot change the real uid, only the effective uid. Many programs don't work properly when the real uid differs from the effective uid. For instance, Perl will turn on taint mode. However, the setuid programs drop all root privileges immediately, changing all uids and gids to the Nix user and group.
-
- Aug 13, 2004
-
-
Eelco Dolstra authored
"i686-linux").
-
- Jul 18, 2004
-
-
Eelco Dolstra authored
Now SuSE and Red Hat should yield the same type (`i686-linux'). Mac OS X should now give `powerpc-darwin' (i.e., the version number is gone).
-
- Jun 21, 2004
-
-
Eelco Dolstra authored
-
- Jun 04, 2004
-
-
Eelco Dolstra authored
-
- May 18, 2004
-
-
Eelco Dolstra authored
-
Eelco Dolstra authored
to be specified in configure (using `--with-system=SYSTEM').
-
- May 04, 2004
-
-
Eelco Dolstra authored
environment variables. * Started adding some automatic tests. * Do a `make check' when building RPMs.
-
- Apr 26, 2004
-
-
Eelco Dolstra authored
-
Eelco Dolstra authored
* Documented release procedures.
-
- Apr 23, 2004
-
-
Eelco Dolstra authored
-
- Apr 21, 2004
-
-
Eelco Dolstra authored
Nix expressions. To subscribe to a channel (needs to be done only once): nix-channel --add \ http://catamaran.labs.cs.uu.nl/dist/nix/channels/nixpkgs-unstable This just adds the given URL to ~/.nix-channels (which can also be edited manually). To update from all channels: nix-channel --update This fetches the latest expressions and pulls cache manifests. The default Nix expression (~/.nix-defexpr) is made to point to the conjunction of the expressions downloaded from all channels. So to update all installed derivations in the current user environment: nix-channel --update nix-env --upgrade '*' If you are really courageous, you can put this in a cronjob or something. You can subscribe to multiple channels. It is not entirely clear what happens when there are name clashes between derivations from different channels. From nix-env/main.cc it appears that the one with the lowest (highest?) hash will be used, which is pretty meaningless.
-
Eelco Dolstra authored
unless `--disable-init-state' is passed to configure.
-
- Apr 08, 2004
-
-
Eelco Dolstra authored
-
- Apr 06, 2004
-
-
Eelco Dolstra authored
-
Eelco Dolstra authored
* Made the dependencies on bzip2 and the shell explicit.
-
- Mar 15, 2004
-
-
Eelco Dolstra authored
build logs. The program `log2xml' converts a Nix build log (read from standard input) into XML file that can then be converted to XHTML by the `log2html.xsl' stylesheet. The CSS stylesheet `logfile.css' is necessary to make it look good. This is primarily useful if the log file has a *tree structure*, i.e., that sub-tasks such as the various phases of a build (unpack, configure, make, etc.) or recursive invocations of Make are represented as such. While a log file is in principle an unstructured plain text file, builders can communicate this tree structure to `log2xml' by using escape sequences: - "\e[p" starts a new nesting level; the first line following the escape code is the header; - "\e[q" ends the current nesting level. The generic builder in nixpkgs (not yet committed) uses this. It shouldn't be to hard to patch GNU Make to speak this protocol. Further improvements to the generated HTML pages are to allow collapsing/expanding of subtrees, and to abbreviate store paths (but to show the full path by hovering the mouse over it).
-
Eelco Dolstra authored
-
- Feb 16, 2004
-
-
Eelco Dolstra authored
-
Eelco Dolstra authored
* Do not create stuff in localstatedir when doing `make install' (since we may not have write access). In general, installation of constant code/data should be separate from the initialisation of mutable state.
-
- Jan 30, 2004
-
-
Eelco Dolstra authored
-
- Jan 02, 2004
-
-
Eelco Dolstra authored
-
Eelco Dolstra authored
-
- Dec 22, 2003
-
-
Eelco Dolstra authored
-
- Dec 01, 2003
-
-
Eelco Dolstra authored
"i686-linux" instead of "i686-suse-linux").
-
- Nov 26, 2003
-
-
Eelco Dolstra authored
-
Eelco Dolstra authored
-
- Nov 25, 2003
-
-
Eelco Dolstra authored
-
- Nov 22, 2003
-
-
Eelco Dolstra authored
-
- Nov 19, 2003
-
-
Eelco Dolstra authored
* Replace all directory reading code by a generic readDirectory() function.
-
Eelco Dolstra authored
-
Eelco Dolstra authored
that it can be used by multiple programs.
-
- Nov 18, 2003
-
-
Eelco Dolstra authored
-