aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix-data-service/config.scm.in2
-rw-r--r--scripts/guix-data-service.in8
2 files changed, 8 insertions, 2 deletions
diff --git a/guix-data-service/config.scm.in b/guix-data-service/config.scm.in
index 9941fca..22c399e 100644
--- a/guix-data-service/config.scm.in
+++ b/guix-data-service/config.scm.in
@@ -57,7 +57,7 @@
(sqitch-plan . ,(let ((installed-plan
"@prefix@/share/guix-data-service/sqitch/sqitch.plan")
(dev-plan
- (string-append (getcwd) "/sqitch/sqitch.plan")))
+ "@abs_top_builddir@/sqitch/sqitch.plan"))
(if (file-exists? installed-plan)
installed-plan
dev-plan)))
diff --git a/scripts/guix-data-service.in b/scripts/guix-data-service.in
index 33cf2b5..7eae735 100644
--- a/scripts/guix-data-service.in
+++ b/scripts/guix-data-service.in
@@ -141,7 +141,13 @@
(list (%config 'sqitch)
"deploy"
"--db-client" (%config 'sqitch-psql)
- "--chdir" (dirname (dirname (%config 'sqitch-plan)))
+ ;; For some reason, sqitch behaves differently when the
+ ;; guix-data-service is packaged, and when it's not, so try
+ ;; and hack around this here.
+ "--chdir" (let ((base (dirname (%config 'sqitch-plan))))
+ (if (string-prefix? "/gnu" (%config 'sqitch-plan))
+ base
+ (dirname base)))
"--plan-file" (%config 'sqitch-plan)
"--mode" "change" ; this helps when migrations don't
; have the revert bit implemented