The officially official Devuan Forum!

You are not logged in.

#1 DIY » Mullvad VPN » 2020-05-10 14:56:56

juic3
Replies: 1

Hello comrades, if anyone is interested in using Mullvad VPN GUI client, It seems to work.
The client doesn't come with init script for sysvinit, but I managed to slap together a working one (modified from nginx, feel free to correct any mistakes).
Other problem is the path name to daemon containing space. I got aroud it by making a link Mullvad -> Mullvad VPN in /opt.
Here is the script:

#!/bin/sh

### BEGIN INIT INFO
# Provides:	  mullvad
# Required-Start:    $local_fs $remote_fs $network $syslog $named
# Required-Stop:     $local_fs $remote_fs $network $syslog $named
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the mullvad daemon
# Description:       starts mullvad using start-stop-daemon
### END INIT INFO

#PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DAEMON=/opt/Mullvad/resources/mullvad-daemon
#DAEMON="/opt/Mullvad\ VPN/resources/mullvad-daemon"

NAME=mullvad
DESC=mullvad

# Include mullvad defaults if available
if [ -r /etc/default/mullvad ]; then
	. /etc/default/mullvad
fi

STOP_SCHEDULE="${STOP_SCHEDULE:-QUIT/5/TERM/5/KILL/5}"

test -x $DAEMON || exit 0

. /lib/init/vars.sh
. /lib/lsb/init-functions

PID=/run/mullvad.pid

start_mullvad() {
	# Start the daemon/service
	#
	# Returns:
	#   0 if daemon has been started
	#   1 if daemon was already running
	#   2 if daemon could not be started
	start-stop-daemon --start --quiet --pidfile $PID --exec $DAEMON --test > /dev/null \
		|| return 1
	start-stop-daemon --start --quiet --pidfile $PID --exec $DAEMON -- \
		$DAEMON_OPTS 2>/dev/null \
		|| return 2
}

stop_mullvad() {
	# Stops the daemon/service
	#
	# 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
	start-stop-daemon --stop --quiet --retry=$STOP_SCHEDULE --pidfile $PID --name $NAME
	RETVAL="$?"
	sleep 1
	return "$RETVAL"
}

reload_mullvad() {
	# Function that sends a SIGHUP to the daemon/service
	start-stop-daemon --stop --signal HUP --quiet --pidfile $PID --name $NAME
	return 0
}

case "$1" in
	start)
		log_daemon_msg "Starting $DESC" "$NAME"
		start_mullvad
		case "$?" in
			0|1) log_end_msg 0 ;;
			2)   log_end_msg 1 ;;
		esac
		;;
	stop)
		log_daemon_msg "Stopping $DESC" "$NAME"
		stop_mullvad
		case "$?" in
			0|1) log_end_msg 0 ;;
			2)   log_end_msg 1 ;;
		esac
		;;
	restart)
		log_daemon_msg "Restarting $DESC" "$NAME"

		# Check configuration before stopping mullvad
		if ! test_config; then
			log_end_msg 1 # Configuration error
			exit $?
		fi

		stop_mullvad
		case "$?" in
			0|1)
				start_mullvad
				case "$?" in
					0) log_end_msg 0 ;;
					1) log_end_msg 1 ;; # Old process is still running
					*) log_end_msg 1 ;; # Failed to start
				esac
				;;
			*)
				# Failed to stop
				log_end_msg 1
				;;
		esac
		;;
	reload|force-reload)
		log_daemon_msg "Reloading $DESC configuration" "$NAME"

		# Check configuration before stopping mullvad
		#
		# This is not entirely correct since the on-disk mullvad binary
		# may differ from the in-memory one, but that's not common.
		# We prefer to check the configuration and return an error
		# to the administrator.
		if ! test_config; then
			log_end_msg 1 # Configuration error
			exit $?
		fi

		reload_mullvad
		log_end_msg $?
		;;
	status)
		status_of_proc -p $PID "$DAEMON" "$NAME" && exit 0 || exit $?
		;;
	*)
		echo "Usage: $NAME {start|stop|restart|reload|force-reload|status}" >&2
		exit 3
		;;
esac

#2 Re: Other Issues » 32bit packages on a 64bit system » 2019-09-23 15:18:07

Yes, I had read that thread. I can't really seem to figure out what's going on. I'll just wait for the 64-bit packages to catch up to the 32-bit packages :-)

Does anyone have an idea when that might be happening? smile

#3 Re: Desktop and Multimedia » [SOLVED] Ceres 64-bit and cannot install wine32:i386 » 2019-08-04 18:29:47

Aptitude simulation gives this:

$ aptitude -s -y install wine32
Note: selecting "wine32:i386" instead of the virtual package "wine32"
The following NEW packages will be installed:
  gcc-8-base:i386{a} gstreamer1.0-plugins-base:i386{a} 
  i965-va-driver:i386{a} intel-media-va-driver:i386{a} libaom0:i386{a} 
  libasound2:i386{a} libasound2-plugins:i386{a} libasyncns0:i386{a} 
  libatomic1:i386{a} libavahi-client3:i386{a} libavahi-common-data:i386{a} 
  libavahi-common3:i386{a} libavcodec58:i386{a} libavresample4:i386{a} 
  libavutil56:i386{a} libblkid1:i386{ab} libbsd0:i386{a} libc6:i386{a} 
  libcairo2:i386{a} libcap2:i386{a} libcapi20-3:i386{a} 
  libcdparanoia0:i386{a} libcodec2-0.8.1:i386{a} libcom-err2:i386{a} 
  libcroco3:i386{a} libcrystalhd3:i386{a} libcups2:i386{a} 
  libdatrie1:i386{a} libdb5.3:i386{a} libdbus-1-3:i386{a} 
  libdrm-amdgpu1:i386{a} libdrm-intel1:i386{a} libdrm-nouveau2:i386{a} 
  libdrm-radeon1:i386{a} libdrm2:i386{a} libedit2:i386{a} libelf1:i386{a} 
  libelogind0:i386{ab} libeudev1:i386{a} libexif12:i386{a} 
  libexpat1:i386{a} libffi6:i386{a} libflac8:i386{a} libfontconfig1:i386{a} 
  libfreetype6:i386{a} libfribidi0:i386{a} libgcc1:i386{a} 
  libgcrypt20:i386{a} libgd3:i386{a} libgdk-pixbuf2.0-0:i386{a} 
  libgl1:i386{a} libgl1-mesa-dri:i386{a} libglapi-mesa:i386{a} 
  libglib2.0-0:i386{a} libglu1-mesa:i386{a} libglvnd0:i386{a} 
  libglx-mesa0:i386{a} libglx0:i386{a} libgmp10:i386{a} libgnutls30:i386{a} 
  libgomp1:i386{a} libgpg-error0:i386{a} libgphoto2-6:i386{a} 
  libgphoto2-port12:i386{a} libgpm2:i386{a} libgraphite2-3:i386{a} 
  libgsm1:i386{a} libgssapi-krb5-2:i386{a} 
  libgstreamer-plugins-base1.0-0:i386{a} libgstreamer1.0-0:i386{a} 
  libharfbuzz0b:i386{a} libhogweed4:i386{a} libice6:i386{a} 
  libicu63:i386{a} libidn2-0:i386{a} libigdgmm5:i386{a} 
  libjack-jackd2-0:i386{a} libjbig0:i386{a} libjpeg62-turbo:i386{a} 
  libk5crypto3:i386{a} libkeyutils1:i386{a} libkrb5-3:i386{a} 
  libkrb5support0:i386{a} liblcms2-2:i386{a} libldap-2.4-2:i386{a} 
  libllvm7:i386{a} libltdl7:i386{a} liblzma5:i386{a} libmount1:i386{ab} 
  libmp3lame0:i386{a} libmpg123-0:i386{a} libncurses6:i386{a} 
  libnettle6:i386{a} libnuma1:i386{a} libodbc1:i386{a} libogg0:i386{a} 
  libopenal1:i386{a} libopenjp2-7:i386{a} libopus0:i386{a} 
  liborc-0.4-0:i386{a} libosmesa6:i386{a} libp11-kit0:i386{a} 
  libpango-1.0-0:i386{a} libpangocairo-1.0-0:i386{a} 
  libpangoft2-1.0-0:i386{a} libpcap0.8:i386{a} libpciaccess0:i386{a} 
  libpcre3:i386{a} libpixman-1-0:i386{a} libpng16-16:i386{a} 
  libpulse0:i386{a} librsvg2-2:i386{a} librsvg2-common:i386{a} 
  libsamplerate0:i386{a} libsasl2-2:i386{a} libsasl2-modules:i386{a} 
  libsasl2-modules-db:i386{a} libsdl2-2.0-0:i386{a} libselinux1:i386{a} 
  libsensors5:i386{a} libshine3:i386{a} libsm6:i386{a} libsnappy1v5:i386{a} 
  libsndfile1:i386{a} libsndio7.0:i386{a} libsoxr0:i386{a} 
  libspeex1:i386{a} libssl1.1:i386{a} libstdc++6:i386{a} 
  libswresample3:i386{a} libtasn1-6:i386{a} libthai0:i386{a} 
  libtheora0:i386{a} libtiff5:i386{a} libtinfo6:i386{a} libtwolame0:i386{a} 
  libunistring2:i386{a} libusb-1.0-0:i386{a} libuuid1:i386{ab} 
  libv4l-0:i386{a} libv4lconvert0:i386{a} libva-drm2:i386{a} 
  libva-x11-2:i386{a} libva2:i386{a} libvdpau-va-gl1:i386{a} 
  libvdpau1:i386{a} libvisual-0.4-0:i386{a} libvkd3d1:i386{a} 
  libvorbis0a:i386{a} libvorbisenc2:i386{a} libvpx5:i386{a} 
  libvulkan1:i386{a} libwavpack1:i386{a} libwayland-client0:i386{a} 
  libwayland-cursor0:i386{a} libwayland-egl1:i386{a} libwebp6:i386{a} 
  libwebpmux3:i386{a} libwine:i386{a} libwrap0:i386{a} libx11-6:i386{a} 
  libx11-xcb1:i386{a} libx264-155:i386{a} libx265-165:i386{a} 
  libxau6:i386{a} libxcb-dri2-0:i386{a} libxcb-dri3-0:i386{a} 
  libxcb-glx0:i386{a} libxcb-present0:i386{a} libxcb-render0:i386{a} 
  libxcb-shm0:i386{a} libxcb-sync1:i386{a} libxcb-xfixes0:i386{a} 
  libxcb1:i386{a} libxcomposite1:i386{a} libxcursor1:i386{a} 
  libxdamage1:i386{a} libxdmcp6:i386{a} libxext6:i386{a} libxfixes3:i386{a} 
  libxi6:i386{a} libxinerama1:i386{a} libxkbcommon0:i386{a} libxml2:i386{a} 
  libxpm4:i386{a} libxrandr2:i386{a} libxrender1:i386{a} 
  libxshmfence1:i386{a} libxslt1.1:i386{a} libxss1:i386{a} libxtst6:i386{a} 
  libxvidcore4:i386{a} libxxf86vm1:i386{a} libzstd1:i386{a} 
  libzvbi0:i386{a} mesa-va-drivers:i386{a} mesa-vdpau-drivers:i386{a} 
  ocl-icd-libopencl1:i386{a} va-driver-all:i386{a} vdpau-driver-all:i386{a} 
  wine32:i386 zlib1g:i386{a} 
0 packages upgraded, 202 newly installed, 0 to remove and 0 not upgraded.
Need to get 42.6 MB/110 MB of archives. After unpacking 673 MB will be used.
The following packages have unmet dependencies:
 libmount1 : Breaks: libmount1:i386 (!= 2.32.1-0.1+devuan2.1) but 2.33.1-0.1+devuan1 is to be installed
 libmount1:i386 : Breaks: libmount1 (!= 2.33.1-0.1+devuan1) but 2.32.1-0.1+devuan2.1 is installed
 libblkid1 : Breaks: libblkid1:i386 (!= 2.32.1-0.1+devuan2.1) but 2.33.1-0.1+devuan1 is to be installed
 libblkid1:i386 : Breaks: libblkid1 (!= 2.33.1-0.1+devuan1) but 2.32.1-0.1+devuan2.1 is installed
 libuuid1 : Breaks: libuuid1:i386 (!= 2.32.1-0.1+devuan2.1) but 2.33.1-0.1+devuan1 is to be installed
 libuuid1:i386 : Breaks: libuuid1 (!= 2.33.1-0.1+devuan1) but 2.32.1-0.1+devuan2.1 is installed
 libelogind0 : Breaks: libelogind0:i386 (!= 241.3-1) but 241.1-1 is to be installed
 libelogind0:i386 : Breaks: libelogind0 (!= 241.1-1) but 241.3-1 is installed
The following actions will resolve these dependencies:

      Keep the following packages at their current version:                     
1)      gstreamer1.0-plugins-base:i386 [Not Installed]                          
2)      libasound2-plugins:i386 [Not Installed]                                 
3)      libavcodec58:i386 [Not Installed]                                       
4)      libblkid1:i386 [Not Installed]                                          
5)      libcairo2:i386 [Not Installed]                                          
6)      libcroco3:i386 [Not Installed]                                          
7)      libelogind0:i386 [Not Installed]                                        
8)      libfontconfig1:i386 [Not Installed]                                     
9)      libgd3:i386 [Not Installed]                                             
10)     libgdk-pixbuf2.0-0:i386 [Not Installed]                                 
11)     libglib2.0-0:i386 [Not Installed]                                       
12)     libgphoto2-6:i386 [Not Installed]                                       
13)     libgstreamer-plugins-base1.0-0:i386 [Not Installed]                     
14)     libgstreamer1.0-0:i386 [Not Installed]                                  
15)     libharfbuzz0b:i386 [Not Installed]                                      
16)     libmount1:i386 [Not Installed]                                          
17)     libpango-1.0-0:i386 [Not Installed]                                     
18)     libpangocairo-1.0-0:i386 [Not Installed]                                
19)     libpangoft2-1.0-0:i386 [Not Installed]                                  
20)     libpulse0:i386 [Not Installed]                                          
21)     librsvg2-2:i386 [Not Installed]                                         
22)     librsvg2-common:i386 [Not Installed]                                    
23)     libsdl2-2.0-0:i386 [Not Installed]                                      
24)     libsm6:i386 [Not Installed]                                             
25)     libtheora0:i386 [Not Installed]                                         
26)     libuuid1:i386 [Not Installed]                                           
27)     libwine:i386 [Not Installed]                                            
28)     wine32:i386 [Not Installed]                                             

      Leave the following dependencies unresolved:                              
29)     libgstreamer-plugins-base1.0-0:i386 recommends gstreamer1.0-plugins-base
30)     libopenal1:i386 recommends libpulse0:i386 (>= 0.99.1)                   



No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
Would download/install/remove packages.

#4 Re: Desktop and Multimedia » [SOLVED] Ceres 64-bit and cannot install wine32:i386 » 2019-08-04 18:23:37

$ aptitude why-not wine32
Not currently installed
No dependencies require to remove wine32

#5 Re: Desktop and Multimedia » [SOLVED] Ceres 64-bit and cannot install wine32:i386 » 2019-08-03 16:12:39

I have same problem (cant install wine32). Only Beowulf sources.

apt policy libuuid1{,:i386} e2fsprogs
libuuid1:
  Installed: 2.32.1-0.1+devuan2.1
  Candidate: 2.32.1-0.1+devuan2.1
  Version table:
 *** 2.32.1-0.1+devuan2.1 500
        500 http://deb.devuan.org/merged beowulf/main amd64 Packages
        100 /var/lib/dpkg/status
libuuid1:i386:
  Installed: (none)
  Candidate: 2.33.1-0.1+devuan1
  Version table:
     2.33.1-0.1+devuan1 500
        500 http://deb.devuan.org/merged beowulf/main i386 Packages
e2fsprogs:
  Installed: 1.44.5-1
  Candidate: 1.44.5-1
  Version table:
 *** 1.44.5-1 500
        500 http://deb.devuan.org/merged beowulf/main amd64 Packages
        100 /var/lib/dpkg/status

(edited copy paste error)

#6 Re: News & Announcements » We're now 800 strong here! » 2018-11-27 18:14:59

Another late registrant here. Been using Devuan since jessie beta, and love it.
Big hand to your guys. Keep rocking smile

Board footer

Forum Software