The officially official Devuan Forum!

You are not logged in.

#2 Re: DIY » wicd is back from the dead » 2024-09-16 15:59:09

WiCd consists of two parts. A daemon which is performing all tasks and a user-interface. The daemon is running on root privileges, whereas the user-interface is running with low user privileges. Communication is established through dbus.

Concerning the topic of code review: In the open source space this is the job of the maintainer. As understood, the current maintainer of WiCd is Andreas Messer. WiCd has been out there for long time and Andreas seems to have inherited the burden of maintainership. With low efforts he has done good. As far as I can see from the commits, the python 3 porting of the daemon as well as the ncourses user-interface was done by him. As the GTK lib of the python 2 implementation was not ported to python 3, he struggled hard porting also this important part of wicd. This work was finally done by Takahiro Yoshizawa. Takahiro Yoshizawa also repaired the install scripts - actually I did not managed to get Andreas work installed on devuan.

Hoping that Takahiro Yoshizawa will donate his work to the official branch of wicd, I hope that Andreas will accept the code for mainline. Of course after reviewing it addressing security aspects. IMHO the license is the first curcial thing to be clarified and I hope that Andreas is able to contact Takahiro Yoshizawa in this regard. Maybe they are already in contact.

#4 DIY » wicd is back from the dead » 2024-09-15 14:50:38

dl1ps
Replies: 11

good news everyone - wicd is back!

It was forked on launchpad by a user called hanaguro. He was working very hard on wicd python 3 port during this summer on his repo:

https://git.launchpad.net/~hanaguro/wicd/

Today I cloned the repo and was able installing wicd with following steps:

- installed all libnotify packets via synaptic (search and install them all)
- apt-install python3-urwid

and then used the installer in the main directory:

- python3 setup.py configure
as root:
- python3 setup.py install                                         

works as a charm on daedalus  and I am happy like a child :-) Now I have to find out how to thank hanaguro ...

#6 Freedom Hacks » pdns-server in Debian 11 comes without init script » 2021-11-07 22:09:28

dl1ps
Replies: 1

Upgrading to Devuan 4, i have noticed that the package is missing the init script. The bug was already filed at the Debian side:

https://bugs.debian.org/cgi-bin/bugrepo … bug=997054

where the bug filer asked to keep the init script included. Unfortunately, the wish sounded more like a demand (for init freedom) and was abruptly declined by the package maintainer.

If somebody is using powerdns as authoritative nameserver the following script taken from a Devuan 3 installation still works:

∴root∴/u/l/bin $ cat /etc/init.d/pdns
#!/bin/sh
### BEGIN INIT INFO
# Provides:          pdns
# Required-Start:    $network $remote_fs $syslog
# Required-Stop:     $network $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Should-Start:      slapd
# Should-Stop:       slapd
# Short-Description: PowerDNS Authoritative Name Server
# Description: PDNS is a versatile high performance authoritative nameser
### END INIT INFO

PATH=/bin:/sbin:/usr/bin:/usr/sbin
BINARYPATH=/usr/bin
SBINARYPATH=/usr/sbin

ODESC="PowerDNS Authoritative Name Server"
DESC="$ODESC"
NAME=pdns
DAEMON=/usr/sbin/pdns_server
DAEMON_ARGS=""
CONTROL=/usr/bin/pdns_control
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

[ -x "$DAEMON" ] || exit 0

[ -r /etc/default/pdns ] && . /etc/default/pdns

# Handle instance scripts
suffix=$(basename $0 | cut -d- -f2- -s)

if [ -n "$suffix" ]; then
        SUFFIX="--config-name=$suffix"
        DAEMON_ARGS="$DAEMON_ARGS $SUFFIX"
        NAME="$NAME-$suffix"
        DESC="$DESC (config name $suffix)"
        PIDFILE="/var/run/$NAME-$suffix.pid"
fi

# Load lsb stuff for systemd redirection (if available).
if [ -e /lib/lsb/init-functions ]; then
  . /lib/lsb/init-functions
fi

# function to invoke properly parametrized pdns_control
doPC()
{
    $CONTROL $SUFFIX $1 $2 2> /dev/null
        return $?
}

isrunning()
{
        doPC ping > /dev/null
        return $?
}

#
# Function that starts the daemon/service
#
do_start()
{
        # Return
        #   0 if daemon has been started
        #   1 if daemon was already running
        #   2 if daemon could not be started
        if isrunning; then
                return 1
        fi
        start-stop-daemon --start --quiet \
                --pidfile $PIDFILE --exec $DAEMON -- \
                $DAEMON_ARGS --daemon --guardian=yes \
                || return 2
}

#
# Function that stops the daemon/service
#
do_stop()
{
        # Return
        #   0 if daemon has been stopped
        #   1 if daemon was already stopped
        #   2 if daemon could not be stopped
        #   other if a failure occurred
        doPC quit >/dev/null
        RETVAL="2"
        for sec in $(seq 1 5); do
                if ! isrunning; then
                        RETVAL="0"
                        break
                fi
                sleep 1
        done
        [ "$RETVAL" = 2 ] && return 2
        rm -f $PIDFILE
}

case "$1" in
  start)
        echo -n "Starting $DESC: $NAME ..."
        do_start
        case "$?" in
                0|1)
                        echo done
                        exit 0
                        ;;
                2)
                        echo failed
                        exit 1
                        ;;
        esac
        ;;
  stop)
        echo -n "Stopping $DESC: $NAME ..."
        do_stop
        case "$?" in
                0|1)
                        echo done
                        exit 0
                        ;;
                2)
                        echo failed
                        exit 1
                        ;;
        esac
        ;;
  status)
        if isrunning; then
                echo "$NAME is running: $(doPC status)"
                exit 0
        else
                echo "$NAME is not running"
                exit 3
        fi
        ;;
  force-stop)
        echo -n "Killing $ODESC (all instances): $NAME ..."
        kill -9 $(pidof pdns_server)
        case "$?" in
                0)
                        echo done
                        exit 0
                        ;;
                1)
                        echo failed
                        exit 1
                        ;;
        esac
        ;;
  restart)
        echo -n "Restarting $DESC: $NAME ..."
        do_stop
        case "$?" in
                0|1)
                        do_start
                        case "$?" in
                                0)
                                        echo done
                                        exit 0
                                        ;;
                                1)
                                        echo failed  # Old process is still running
                                        exit 1
                                        ;;
                                *)
                                        echo failed # Failed to start
                                        exit 1
                                        ;;
                        esac
                        ;;
                *)
                        # Failed to stop
                        echo failed
                        exit 1
                        ;;
        esac
        ;;
  reload|force-reload)
        echo -n "Reloading $DESC: $NAME ..."
        if isrunning; then
                doPC cycle >/dev/null
                case "$?" in
                        0)
                                echo done
                                exit 0
                                ;;
                        1)
                                echo failed
                                exit 1
                                ;;
                esac
        else
                echo done
                exit 7
        fi
        ;;
  monitor)
        if isrunning; then
                echo "already running"
                exit 1
        else
                $DAEMON $DAEMON_ARGS --daemon=no --guardian=no --control-console --loglevel=9
                exit 0
        fi
        ;;
  dump)
        if isrunning; then
                doPC list
                exit 0
        else
                echo "not running"
                exit 7
        fi
        ;;
  show)
        if isrunning; then
                if [ $# -lt 2 ]; then
                        echo "Insufficient parameters"
                        exit 2
                fi
                echo -n "$2="
                doPC show $2
                exit 0
        else
                echo "not running"
                exit 7
        fi
        ;;
  mrtg)
        if isrunning; then
                if [ $# -lt 2 ]; then
                        echo "Insufficient parameters"
                        exit 2
                fi
                doPC show $2
                if [ "$3x" != "x" ]; then
                        doPC show $3
                else
                        echo 0
                fi
                doPC uptime
                echo "$DESC"
                exit 0
        else
                echo "not running"
                exit 7
        fi
        ;;
  cricket)
        if isrunning; then
                if [ $# -lt 2 ]; then
                        echo "Insufficient parameters"
                        exit 1
                fi
                doPC show $2
                exit 0
        else
                echo "not running"
                exit 7
        fi
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|status|force-stop|restart|reload|monitor|dump|show|mrtg|cricket}"
        ;;
esac

exit 0

 

Maybe its possible to fork pdns-server (pdns-recursor is still forked) for devuan to resolve this issue.

Many, Many thanks for the efforts in maintaining init freedom!!!!!!

Board footer

Forum Software