[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Install script supporting sysV init?
From: |
Jan |
Subject: |
Re: Install script supporting sysV init? |
Date: |
Mon, 27 Jan 2020 17:09:20 +0100 |
Thanks, this generally works, except this line:
> GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale
> -E LC_ALL=en_US.utf8 -p /var/lock/guix-daemon.pid guix-daemon
While trying to start the daemon, daemonize complains about the path
not being absolute.
I changed "guix-daemon"
to
"/gnu/store/ncknl03pkmamrxg7q9nxi1rn1qhvwbi9-guix-1.0.1/bin/guix-daemon"
and it worked, but it isn't the right solution I guess. What should I
do?
On Sun, 26 Jan 2020 23:38:20 +0100
Danny Milosavljevic <address@hidden> wrote:
> Hi Jan,
>
> > Does someone plan writing init script for Guix, so it will work on
> > distributions using sysV init? There are still distributions not
> > using systemd, for example Devuan and last time I checked, the
> > install script doesn't support it.
>
> I'm all for supporting it, but I can't remember all the idiocracies
> and I have no machine to test it on.
>
> That said, sysv init scripts are just shell scripts which support the
> arguments "start", "status", "stop" and sometimes have an LSB header
> specifying where to put the stuff (which runlevels are supposed to
> have it).
>
> We would basically put the following file into /etc/init.d/guix-daemon
> and make it executable:
>
> #!/bin/bash -e
> ### BEGIN INIT INFO
> # Provides: guix-daemon
> # Required-Start: $remote_fs $syslog
> # Required-Stop: $remote_fs $syslog
> # Default-Start: 2 3 4 5
> # Default-Stop: 0 1 6
> # Short-Description: Guix build daemon
> # Description: Provides a daemon that does builds for Guix
> ### END INIT INFO
>
> case "$1" in
> start)
> daemonize -a -e /var/log/guix-daemon-stderr.log
> -o /var/log/guix-daemon-stdout.log -E
> GUIX_LOCPATH=/var/guix/profiles/per-user/root/guix-profile/lib/locale
> -E LC_ALL=en_US.utf8 -p /var/lock/guix-daemon.pid guix-daemon
> --build-users-group=guixbuild ;; stop)
> pid="`cat /var/lock/guix-daemon.pid`" if [ ! -z "${pid}" ] then
> kill "${pid}"
> sleep 10
> kill -9 "${pid}"
> fi
> # TODO: Maybe remove /var/lock/guix-daemon.pid ?
> ;;
> status)
> pid="`cat /var/lock/guix-daemon.pid`"
> if [ ! -z "${pid}" ]
> then
> if ps "${pid}" > /dev/null 2> /dev/null
> then
> echo "running"
> else
> echo "stale pid file"
> fi
> else
> echo "not running"
> fi
> ;;
> *)
> echo "Usage: $0 (start|stop|status)"
> ;;
> esac
>
> I think in order to actually install the service one does this:
>
> $ sudo update-rc.d guix-daemon defaults
> $ sudo update-rc.d guix-daemon enable
Jan Wielkiewicz
- Install script supporting sysV init?, Jan, 2020/01/26
- Re: Install script supporting sysV init?, Danny Milosavljevic, 2020/01/26
- Re: Install script supporting sysV init?,
Jan <=
- Re: Install script supporting sysV init?, Julien Lepiller, 2020/01/27
- Re: Install script supporting sysV init?, Jan, 2020/01/28
- Re: Install script supporting sysV init?, Danny Milosavljevic, 2020/01/28
- Re: Install script supporting sysV init?, Danny Milosavljevic, 2020/01/28
- Re: Install script supporting sysV init?, Jan, 2020/01/28
- Re: Install script supporting sysV init?, Danny Milosavljevic, 2020/01/28
- Re: Install script supporting sysV init?, Jan, 2020/01/28
- Re: Install script supporting sysV init?, Danny Milosavljevic, 2020/01/28
- Re: Install script supporting sysV init?, Jan, 2020/01/30
Re: Install script supporting sysV init?, Ludovic Courtès, 2020/01/28