about summary refs log tree commit diff
path: root/nixpkgs/pkgs/servers/hylafaxplus/post-install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/servers/hylafaxplus/post-install.sh')
-rw-r--r--nixpkgs/pkgs/servers/hylafaxplus/post-install.sh24
1 files changed, 24 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/hylafaxplus/post-install.sh b/nixpkgs/pkgs/servers/hylafaxplus/post-install.sh
new file mode 100644
index 000000000000..ddc7c3f85eda
--- /dev/null
+++ b/nixpkgs/pkgs/servers/hylafaxplus/post-install.sh
@@ -0,0 +1,24 @@
+# Parts of the `install` make target don't
+# dare to set file modes (or owners), but put the
+# needed commands in a new file called `root.sh`.
+# We execute the `chmod` commands of
+# this script to set execute bits.
+sed '/chown/d;/chgrp/d' --in-place root.sh
+. root.sh
+
+# We run `faxsetup` to prepare some config files
+# that the admin would have to create otherwise.
+# Since `faxsetup` is quite picky about its environment,
+# we have to prepare some dummy files.
+# `faxsetup` stores today's date in the output files,
+# so we employ faketime to simulate a deterministic date.
+echo "uucp:x:0" >> "$TMPDIR/passwd.dummy"  # dummy uucp user
+touch "$out/spool/etc/config.dummy"  # dummy modem config
+mkdir "$TMPDIR/lock.dummy"  # dummy lock dir
+"@libfaketime@/bin/faketime" -f "$(date --utc --date=@$SOURCE_DATE_EPOCH '+%F %T')" \
+  "@fakeroot@/bin/fakeroot" -- \
+  "$out/spool/bin/faxsetup" -with-DIR_LOCKS="$TMPDIR/lock.dummy" -with-PASSWD="$TMPDIR/passwd.dummy"
+rm "$out/spool/etc/config.dummy"
+
+# Ensure all binaries are reachable within the spooling area.
+ln --symbolic --target-directory="$out/spool/bin/" "$out/bin/"*