mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-01 15:11:25 +00:00
a08b633fe7
Create the top-level packages attribute 'hylafaxplus' that builds HylaFAX+ . Note: The nobody uid and the nogroup gid are hardcoded in the package. The package build recipe file contains options to modify these ids.
25 lines
1.1 KiB
Bash
25 lines
1.1 KiB
Bash
# 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/"*
|