aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2003-07-13 18:58:03 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2003-07-13 18:58:03 +0000
commit9c620e4afa03e63ddaff2979396144de8d9298a5 (patch)
tree7bfabf03cd1665a9049763b31ce42305d85af13e
parent5304a1eb3a2bbcc379924d3f5a58b64ce77f4849 (diff)
* Generate the scripts so that we can substitute the prefix
etc. correctly. * Fixed nix-switch.
-rw-r--r--scripts/Makefile.am10
-rw-r--r--scripts/nix-profile.sh.in (renamed from scripts/nix-profile.sh)10
-rw-r--r--scripts/nix-pull.in (renamed from scripts/nix-pull)7
-rw-r--r--scripts/nix-push.in (renamed from scripts/nix-push)0
-rwxr-xr-xscripts/nix-switch.in (renamed from scripts/nix-switch)17
-rw-r--r--src/Makefile.am3
6 files changed, 23 insertions, 24 deletions
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
index 2f4dbacc9..a8cbe8222 100644
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -1,9 +1,19 @@
bin_SCRIPTS = nix-switch nix-collect-garbage \
nix-pull nix-push
+noinst_SCRIPTS = nix-profile.sh
+
install-exec-local:
$(INSTALL) -d $(sysconfdir)/profile.d
$(INSTALL_PROGRAM) nix-profile.sh $(sysconfdir)/profile.d/nix.sh
$(INSTALL) -d $(sysconfdir)/nix
# !!! don't overwrite local modifications
$(INSTALL_DATA) prebuilts.conf $(sysconfdir)/nix/prebuilts.conf
+
+%: %.in Makefile
+ sed \
+ -e s^@prefix\@^$(prefix)^g \
+ -e s^@sysconfdir\@^$(sysconfdir)^g \
+ -e s^@localstatedir\@^$(localstatedir)^g \
+ < $< > $@ || rm $@
+ chmod +x $@
diff --git a/scripts/nix-profile.sh b/scripts/nix-profile.sh.in
index fb526a239..3a64caa04 100644
--- a/scripts/nix-profile.sh
+++ b/scripts/nix-profile.sh.in
@@ -1,10 +1,10 @@
-if test -z "$NIX_SET"; then
+#if test -z "$NIX_SET"; then
- export NIX_SET=1
+# export NIX_SET=1
- NIX_LINKS=/nix/var/nix/links/current
+ NIX_LINKS=@localstatedir@/nix/links/current
- export PATH=$NIX_LINKS/bin:/nix/bin:$PATH
+ export PATH=$NIX_LINKS/bin:@prefix@/bin:$PATH
export LD_LIBRARY_PATH=$NIX_LINKS/lib:$LD_LIBRARY_PATH
@@ -17,4 +17,4 @@ if test -z "$NIX_SET"; then
# export MANPATH=$NIX_LINKS/man:$MANPATH
-fi
+#fi
diff --git a/scripts/nix-pull b/scripts/nix-pull.in
index 320322585..a75c1f258 100644
--- a/scripts/nix-pull
+++ b/scripts/nix-pull.in
@@ -1,10 +1,7 @@
#! /usr/bin/perl -w
-my $prefix = $ENV{"NIX"} || "/tmp/nix"; # !!! use prefix
-my $etcdir = "$prefix/etc/nix";
-my $tmpfile = "$prefix/var/nix/pull.tmp";
-
-my $conffile = "$etcdir/prebuilts.conf";
+my $tmpfile = "@localstatedir@/nix/pull.tmp";
+my $conffile = "@sysconfdir@/nix/prebuilts.conf";
my @subs;
my @sucs;
diff --git a/scripts/nix-push b/scripts/nix-push.in
index bf30f3a49..bf30f3a49 100644
--- a/scripts/nix-push
+++ b/scripts/nix-push.in
diff --git a/scripts/nix-switch b/scripts/nix-switch.in
index d58a5f249..55305418c 100755
--- a/scripts/nix-switch
+++ b/scripts/nix-switch.in
@@ -12,29 +12,24 @@ if (scalar @ARGV > 0 && $ARGV[0] eq "--keep") {
my $hash = $ARGV[0];
$hash || die "no package hash specified";
-my $prefix = $ENV{"NIX"} || "/nix"; # !!! use prefix
-my $linkdir = "$prefix/var/nix/links";
+my $linkdir = "@localstatedir@/nix/links";
# Build the specified package, and all its dependencies.
-my $pkgdir = `nix getpkg $hash`;
-if ($?) { die "`nix getpkg' failed"; }
+my $pkgdir = `nix -qph $hash`;
+if ($?) { die "`nix -qph' failed"; }
chomp $pkgdir;
-my $id = `nix info $hash | cut -c 34-`;
-if ($?) { die "`nix info' failed"; }
-chomp $id;
-
# Figure out a generation number.
my $nr = 0;
-while (-e "$linkdir/$id-$nr") { $nr++; }
-my $link = "$linkdir/$id-$nr";
+while (-e "$linkdir/$nr") { $nr++; }
+my $link = "$linkdir/$nr";
# Create a symlink from $link to $pkgdir.
symlink($pkgdir, $link) or die "cannot create $link: $!";
# Also store the hash of $pkgdir. This is useful for garbage
# collection and the like.
-my $hashfile = "$linkdir/$id-$nr.hash";
+my $hashfile = "$linkdir/$nr.hash";
open HASH, "> $hashfile" or die "cannot create $hashfile";
print HASH "$hash\n";
close HASH;
diff --git a/src/Makefile.am b/src/Makefile.am
index b22a56e3a..4b21f12b3 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -25,9 +25,6 @@ libnix_a_SOURCES = util.cc hash.cc archive.cc md5.c \
install-data-local:
$(INSTALL) -d $(localstatedir)/nix
$(INSTALL) -d $(localstatedir)/nix/links
-# $(INSTALL) -d $(localstatedir)/nix/prebuilts
-# $(INSTALL) -d $(localstatedir)/nix/prebuilts/imports
-# $(INSTALL) -d $(localstatedir)/nix/prebuilts/exports
$(INSTALL) -d $(localstatedir)/log/nix
$(INSTALL) -d $(prefix)/store
$(bindir)/nix --init