• Bug#1039226: icecc: ships sysv-init script without systemd unit

    From Diederik de Haas@21:1/5 to All on Sun Jul 6 18:00:02 2025
    This is a multi-part MIME message sent by reportbug.


    Source: icecc
    Version: 1.4-1
    Followup-For: Bug #1039226

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA512

    Based upon what Fedora has [1], I adopted it for Debian (variable
    names), made it (more) consistent and expanded it so that all variables
    as defined in ``/etc/icecc/icecc.conf`` would be handled.

    I'm neither a systemd 'expert', nor have I used icecc much (yet), but
    when I installed the services, they at least started succesfully.

    Files attached.

    HTH,
    Diederik

    [1] https://src.fedoraproject.org/rpms/icecream/tree/rawhide

    - -- System Information:
    Debian Release: 13.0
    APT prefers unstable
    APT policy: (500, 'unstable'), (500, 'testing'), (101, 'experimental') Architecture: amd64 (x86_64)

    Kernel: Linux 6.12.33+deb13-amd64 (SMP w/16 CPU threads; PREEMPT)
    Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
    Shell: /bin/sh linked to /usr/bin/dash
    Init: systemd (via /run/systemd/system)
    LSM: AppArmor: enabled

    -----BEGIN PGP SIGNATURE-----

    iHUEARYKAB0WIQT1sUPBYsyGmi4usy/XblvOeH7bbgUCaGqaYQAKCRDXblvOeH7b bm8eAP4hDCrcmowQqhMhHVuP44yU4sw40fRgl439yI+1N9VaYwEAgbV6wQq7W3hK s/TXB19/iiQB3d/wkMxVN3TcTcgQUwo=
    =yJDo
    -----END PGP SIGNATURE-----

    #!/bin/sh

    DAEMON=/usr/sbin/iceccd
    CONFIGFILE=/etc/icecc/icecc.conf

    [ -e $CONFIGFILE ] && . $CONFIGFILE

    params=""

    if [ -n "$ICECC_NICE_LEVEL" ] ; then
    params="$params --nice $ICECC_NICE_LEVEL"
    fi

    if [ -n "$ICECC_LOG_FILE" ] ; then
    params="$params --log-file $ICECC_LOG_FILE"
    fi

    if [ -n "$ICECC_NETNAME" ] ; then
    params="$params --netname $ICECC_NETNAME"
    fi

    if [ -n "$ICECC_MAX_JOBS" ] ; then
    if [ "$ICECC_MAX_JOBS" -eq 0 ] ; then
    params="$params --max-processes 1"
    params="$params --no-remote"
    else
    params="$params --max-processes $ICECC_MAX_JOBS"
    fi
    fi

    if [ "$ICECREAM_ALLOW_REMOTE" != "yes" ] ; then
    params="$params --no-remote"
    fi

    if [ -n "$ICECC_BASEDIR" ] ; then
    params="$params --env-basedir $ICECC_BASEDIR"
    fi

    if [ -n "$ICECC_SCHEDULER_HOST" ] ; then
    params="$params --scheduler-host $ICECC_SCHEDULER_HOST"
    fi

    if [ -n "$ICECC_CACHE_LIMIT" ] ; then
    params="$params --cache-limit $ICECC_CACHE_LIMIT"
    fi


    exec $DAEMON "$@" $params

    [Unit]
    Description=Icecream Distributed Compiler
    Documentation=man:iceccd(1)
    After=network.target nss-lookup.target

    [Service]
    Type=simple
    User=icecc
    Group=icecc
    SyslogIdentifier=iceccd
    ExecStart=/usr/libexec/icecc/iceccd-wrapper

    [Install]
    WantedBy=multi-user.target

    #!/bin/sh

    DAEMON=/usr/sbin/icecc-scheduler
    CONFIGFILE=/etc/icecc/icecc.conf

    [ -e $CONFIGFILE ] && . $CONFIGFILE

    params=""

    if [ -n "$ICECC_NETNAME" ] ; then
    params="$params --netname $ICECC_NETNAME"
    fi

    if [ -n "$ICECC_SCHEDULER_LOG_FILE" ] ; then
    params="$params --log-file $ICECC_SCHEDULER_LOG_FILE"
    else
    params="$params --log-file /var/log/icecc_scheduler"
    fi


    exec $DAEMON $params

    [Unit]
    Description=Icecream Distributed Compiler Scheduler Documentation=man:icecc-scheduler(1)

    [Service]
    Type=simple
    User=icecc
    Group=icecc
    SyslogIdentifier=icecc-scheduler ExecStart=/usr/libexec/icecc/icecc-scheduler-wrapper

    [Install]
    WantedBy=multi-user.target

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)