The officially official Devuan Forum!

You are not logged in.

#251 Re: Installation » Got sound in Firefox with only alsa and JACK! » 2024-01-01 22:23:12

kapqa wrote:

hello ,

ia m on fresh install of Devuan jessie on this laptop and it wont update since it is old laptop with graphics not supported by newer systems i suppose,

so my question is how can i best install newer firefox-esr (without need of huge dependencies) for devuan jessie?

it is because i want to turn into alsa-only laptop that i am not wanting to use the official firefox-esr ftp repository;
is is understanding that all the firefox-esr from devuan is alsa-only enabled,

thanks

Hi kapqa, I'm using the firefox-latest release 121 and I use alsa-utils but with pipewire & wireplumber for sound.

as for downloading, usually I wait until firefox alerts me to an upgrade, (that's why the script uses /home/glenn/Downloads.)
if you care to look, there are many other versions there too.

here is my install proceedure,

#!/bin/bash

# sh "/home/glenn/build/firefox-from-git.sh"
echo "installing firefox-121.0.tar.bz2"
# https://download-installer.cdn.mozilla.net/pub/firefox/releases/121.0/
#wget https://download-installer.cdn.mozilla.net/pub/firefox/releases/xy.z/linux-x86_64/en-US/firefox-xy.z.tar.bz2

cd /home/glenn/Downloads
wget https://download-installer.cdn.mozilla.net/pub/firefox/releases/121.0/linux-x86_64/en-GB/firefox-121.0.tar.bz2

mv /home/glenn/Downloads/firefox-121.0.tar.bz2 /home/glenn/local/archive/source/

# archived :  /home/glenn/local/archive/source/firefox-121.0.tar.bz2

cd /opt

tar xfj /home/glenn/local/archive/source/firefox-121.0.tar.bz2

# remove the old firefox links

mv /usr/bin/firefox /usr/bin/firefoxold

# or after backup of bookmarks and passwordz

# apt remove firefox-esr

# create new link

ln -s /opt/firefox/firefox /usr/bin/firefox

# copy statusBar script.

#rsync -avh /home/glenn/build/userChrome.css /opt/firefox/browser/chrome/
chmod -R 755 /opt/firefox

btw, I have firefox-esr installed as well, I just don't use it for much, internet-radio...

I hope this helps you.

#252 Re: Installation » Installing Devuan on a PC with RX 7600 » 2023-12-25 20:34:42

aluma wrote:

I apologize for the offtopic.
This is not the first case of developers not caring about users. As a result, the distribution loses them (users). A commercial organization would have gone bankrupt long ago. Obviously there is no manager limiting the free flight of developers' imaginations and there is no incentive to make the distribution convenient for users.

I agree, seems like the "Quality Control" is up to the user, corporate fascism, it's the fashion!

#253 Re: Installation » KDE Desktop » 2023-12-25 20:24:01

sisqonrw wrote:

ok i wanted to try and test

devuan_daedalus_5.0.0_amd64_desktop-live

but after boot there is black terminal screen and askin login and passwort.

is that normal?

normally the iso distros starts fully till i the the kde, xfce desktop.

The live-desktop passwords are in the a text file from the download page...
https://devuan.rosset.eu.org/devuan-fil … p-live.txt

You can burn the iso to DVD or use dd or cat to image a USB thumb drive.

User name: devuan		Password: devuan
Admin name: root		Password: toor 

Maintained by fsmithred (key id 0xA73823D3094C5620 on pgp.mit.edu)
Built with the Devuan SDK, live-sdk module by jaromil and parazyd...

Generally, You wont need to login as a user, it should boot all the way to the desktop without asking, only root needs a PW.

If it won't boot, ... did you verify the download before you wrote it to a usb?

All the best.

#254 Re: Devuan Derivatives » [Found another way] Disable ipv6 using Grub - new wrinkle » 2023-12-24 23:26:25

I disable ipv6 the same way for my vpn.

But I don't have that other reference to an image.

you could comment (#) the reference and put the ipv6 command before the initrd...

initrd is supposed to speed up the loading of the kernel, and it does a little bit.

If it breaks you system-boot, then re-edit and try again.

All the best.

#255 Re: Other Issues » Firmware update for AMD GPU's doesn't load on startup » 2023-12-24 23:04:55

Hi, I have tried similar methods to install packages to maximise my investment (in my multimedia-entertainment-system).

Check the package you want is available for off-line installation.

ls -la /var/cache/apt/archives/ | grep "package-name.deb"

then you may (try to) use dpkg to force install with no-deps, but with firmware you may have to reboot to load it and see if it works.

checkout the --help for dpkg...

root@GamesBox:/root  dpkg --help | grep depend
  --predep-package                 Print pre-dependencies to unpack.
  --ignore-depends=<package>[,...]
                             Ignore dependencies involving <package>.
root@GamesBox:/root  dpkg --help | grep force
  --force-help                     Show help on forcing.
  --[no-]triggers            Skip or force consequential trigger processing.
  --force-<thing>[,...]      Override problems (see --force-help).
  --no-force-<thing>[,...]   Stop when problems encountered.

Must read...
dpkg --force-help

root@GamesBox:/root  dpkg --force-help
dpkg forcing options - control behaviour when problems found:
  warn but continue:  --force-<thing>,<thing>,...
  stop with error:    --refuse-<thing>,<thing>,... | --no-force-<thing>,...
 Forcing things:
  [!] all                Set all force options
  [*] security-mac       Use MAC based security if available
  [*] downgrade          Replace a package with a lower version
      configure-any      Configure any package which may help this one
      hold               Install or remove incidental packages even when on hold
      not-root           Try to (de)install things even when not root
      bad-path           PATH is missing important programs, problems likely
      bad-verify         Install a package even if it fails authenticity check
      bad-version        Process even packages with wrong versions
      statoverride-add   Overwrite an existing stat override when adding it
      statoverride-remove Ignore a missing stat override when removing it
      overwrite          Overwrite a file from one package with another
      overwrite-diverted Overwrite a diverted file with an undiverted version
  [!] overwrite-dir      Overwrite one package's directory with another's file
  [!] unsafe-io          Do not perform safe I/O operations when unpacking
  [!] script-chrootless  Do not chroot into maintainer script environment
  [!] confnew            Always use the new config files, don't prompt
  [!] confold            Always use the old config files, don't prompt
  [!] confdef            Use the default option for new config files if one
                         is available, don't prompt. If no default can be found,
                         you will be prompted unless one of the confold or
                         confnew options is also given
  [!] confmiss           Always install missing config files
  [!] confask            Offer to replace config files with no new versions
  [!] architecture       Process even packages with wrong or no architecture
  [!] breaks             Install even if it would break another package
  [!] conflicts          Allow installation of conflicting packages
  [!] depends            Turn all dependency problems into warnings
  [!] depends-version    Turn dependency version problems into warnings
  [!] remove-reinstreq   Remove packages which require installation
  [!] remove-protected   Remove a protected package
  [!] remove-essential   Remove an essential package

WARNING - use of options marked [!] can seriously damage your installation.
Forcing options marked [*] are enabled by default.

Currently enabled options:
 security-mac,downgrade
root@GamesBox:/root  

I hope this helps.

#256 Re: Desktop and Multimedia » [SOLVED] Graphics does not come up after Ceres update/upgrade. » 2023-12-24 22:30:35

Hi, thanks for taking the time to report on those issues.

I enjoy the read. rc = release candidate, and experimental is kinda the same but on a distro level.

I used to surf the caldron of magaiea and cooker of mandriva before that...

I found it quite exciting at times.

All the best.

#257 Re: Installation » KDE Desktop » 2023-12-24 22:09:17

Hi, thank you for the tidings, all the best to you and yours.

I don't know the answer. I use open-rc since I started using Devuan.

I find it easy to use, and services and daemons may be started and stopped, restarted with sysvinit service calls.
(so I can still use the same commands, but it's a bit simpler (for me).

I started using open-rc when I switched over from pclinux.

There's another new one peeps are talking about, but I have not tried it,

runit (i dont know it's real name).

by the way, you could try one and if you don't like it install an other one.

see how you go.

#258 Re: Installation » KDE Desktop » 2023-12-23 22:07:45

Hi, yes to all those questions.

The installer will go through some stages. you get the choice of desktop (kde, etc... I only use kde plasma)

The choice of init is near the end, I like open-rc as well.

The live usb version is not kde. (iirc)

we have beautiful theme colours as well.

I love using Devuan, I think you will too. :-)

happy hollidays!

#259 Re: Documentation » isc-dhcp-client: timeout without running dhcp server » 2023-12-22 20:54:51

I would check to see when it is better loaded and started.

with open-rc ...
rc-update gives a list of services and when it is launched.
I don't know about the other service starters like sysvinit...

maybe if you change it from sysinit to default it may start later, allowing the boot process to continue.
My only concern is that it may have dependants that start after it.

I don't think it matters, you'll just be a little late to the web on boot.

I start the web connection after The GUI starts and My phone is tethered to the pc.

so, I run them all late.

It might impact network-shared folders...

#260 Re: Installation » [SOLVED] can´t install .deb file, system then asking for insertation of cd rom » 2023-12-20 23:25:26

The main trouble that may occur with dpkg -i -G (-G = don't overwrite higher versions) absolute-path

Is that it won't find the deps if required, but should give a list, if any of dep packages can't be found.

When I do this I generally find the packages and put them all in one directory ready for install. ~/Downloads For web-browser downloads. then I keep running "dpkg -i -G *.deb" untill the deps are met.

This is also a very good way to find out what dependency-hell is like.

All the best.

#261 Re: Installation » [SOLVED] can´t install .deb file, system then asking for insertation of cd rom » 2023-12-19 21:03:26

Hi, The file to edit is

add these sources, comment (#) the dvd/cdrom source from the default list
/etc/apt/sources.list

deb http://deb.devuan.org/merged/ daedalus main non-free contrib 
deb http://deb.devuan.org/merged/ daedalus-security main non-free contrib 
deb http://deb.devuan.org/merged/ daedalus-updates main non-free contrib 
deb http://deb.devuan.org/merged/ daedalus-backports main non-free contrib 
deb http://deb.devuan.org/merged/ daedalus-proposed-updates main non-free contrib  

Plain text, but you may need root access to save any changes.

after you save it run,

apt-get update

and try again with the update.

#262 Re: Desktop and Multimedia » Games. Counter Strike 2 On Steam » 2023-12-19 20:32:07

Thank you.

I got into a game yesterday and with all the graphics settings max out for quality the game chugs a bit.

With the graphics settings set to default (best for my machine) it's not so bad, but when it worked before it was fluid.

Thanks for the link. :-)

#263 Re: Desktop and Multimedia » Games. Counter Strike 2 On Steam » 2023-12-18 21:45:52

I think it's a pain to wait for tens of minutes to play and that's before connecting with a server. (not that I do, I only play bots.)

I've reported, "the game is not ready to play". I have only tested the CS:2 that one time after the above adjustment.

I have had the game play first time, but never again numerous times, that's still to be exercised (checked).

Even though I have checked the "steam system analyze" logs quite a few times, but missed this specific error message.

I was also confounded by steam's help practice, only if you're paying (imho). No sound from them when dealing with Linux, or very quiet anyway, community forum is the best it gets.

Anyhow, I'll give the game a whirl this afternoon and report back. Thank you.

#264 Re: Desktop and Multimedia » Games. Counter Strike 2 On Steam » 2023-12-17 20:22:18

Hi, I'm glad to report that it works like a charm.

#265 Desktop and Multimedia » Games. Counter Strike 2 On Steam » 2023-12-17 05:09:59

GlennW
Replies: 6

Counter Strike 2, game play.

I've been struggling with this game for a while.

The game is going through changes, and the errors were not apparent to me, at that time.

For quite sometime the game required building shader files and would crash after the sometimes 35min wait.

I deleted the game and reinstalled (3 times this quarter) but no play.

Then game would not start in steam.

Eventually I saw an error in the steam diagnostics (thank the devs for that).

The last 2 lines...

pressure-vessel-wrap[2596]: E: Diagnostic output:
bwrap: Creating new namespace failed: nesting depth or /proc/sys/user/max_*_namespaces exceeded (ENOSPC)

I saw that the setting on my system was not set.
I looked at some of the other settings and presumed it needed the same range as the others.

I can insert the code required to set this parameter for the linux kernel.

echo "user.max_user_namespaces = 63505" > /etc/sysctl.d/max_user_namespaces.conf

Reboot to set the namespaces parameter.
check the list with...

sysctl -a

I hope this will help.

Regards Glenn

#266 Re: Hardware & System Configuration » Switch from X11 to Wayland after upgrade from Chimaera to Daedalus » 2023-12-09 22:35:29

If you're using sddm as a login ... you get a choice, but it's hard to see without a colourful backdrop.

bottom left is a box to select wayward or X11

#267 Re: Installation » [SOLVED] The firmware-iwlwifi not upgradable in excalibur/testing. » 2023-12-09 22:33:11

If you want an older package, install the old one.20230210-5 (feb10 2023)

If you want to update the package, get the newest.(june25 2023)

I think the issue is that May 2023 package has been removed.

safe adventures.

#268 Re: Other Issues » New approaches to personal network privacy and security » 2023-12-08 00:04:13

I used squid proxy server with iptables, I used it for reducing noise, there fore reducing bandwidth ($/month).

"Uber Linux Project" by Ashton Mills, (atomic magazine Australia)A Firewalled Gateway.

Mandrake was the model I setup with Mandriva. You might find it someplace (as a guide, dated).

Anyhow, I don't remember using squid for blocking dns, but I wouldn't be surprised if it did have the ability.

#269 Re: Devuan » Malicious Programs, and Malicious People On Devuan » 2023-12-05 20:57:09

the way things are going, a statement like this could be an offence in a country near you in the near future.

"Ya know when I was young and naive, I used to recommend Linux to my family members as a "secure" alternative to virus malware
plagued windows for banking and other important personal work."

I've seen a few like this on forums... it's like phishing, the way it asks, assumes... does not reply to words, but replies to posts...

#270 Re: Documentation » How to: Devuan 5 Daedalus an pipewire » 2023-12-03 23:52:58

.xsessionrc is legacy (X11?) system, not used much, but if you make one it will be used.

#271 Re: Installation » First experiences and contact with Daedalus » 2023-12-03 23:35:39

Hi, as for grub, we're using grub2 unless you change it. It just called grub, still.
I hated it at first, I was used to lilo and knew how to get around it.

I think that ima: error, has something to do with your systems sensors (TPM chip) for Trusted Platform Modules (etc)

that could be due to bios version, firmware updates (search that topic here at Dev1 for apt source list, it changed with Devuan Daedalus)

You may be able to switch it off in bios, but maybe required for M$Win OS's validity!

all the best.

#272 Re: DIY » missing sysvinit config for power-profiles-daemon » 2023-12-01 00:10:44

# systemd to sysvinit startup script conversion
# ref. https://dev1galaxy.org/viewtopic.php?pid=23309#p23309

...has this handy link to a converting script.

sysd2v-0.3.sh , over 500 lines, 15kb file not at the link in that post...

#!/bin/sh
# sysd2v v0.3  --  systemd unit to sysvinit script converter
# Copyright (C) 2019  Trek http://www.trek.eu.org/devel/sysd2v
# distributed under the terms of the GNU General Public License 3

nl="
"

# read a systemd unit file and set variables named ini_{section}_{key}
# usage: read_unit filename instance
# filename	service unit configuration file, '-' to read from stdin
# instance	instance name for template units
read_unit()
{
  filename=$1
  instance=$2

  if [ "$filename" != - ]
  then
    inifile_unit_name=${filename##*/}
    inifile_unit_name=${inifile_unit_name%.*}
  fi

  rm_comm='/^[#;]/d'
  concat=':l; /\\$/ { N; s/[[:space:]]*\\\n/ /; tl }'
  subst_inst="s/%[Ii]/$instance/g"
  unit=$(
    cat "$filename" |
    sed "$rm_comm" |
    sed "$concat;$subst_inst"
  )
  section_list=$(
    printf %s "$unit" |
    sed -n 's/^\[\([[:alnum:]]\+\)\].*/\1/p'
  )
  oldifs=$IFS
  IFS=$nl

  for section in $section_list
  do
    get_sect='/^\['"$section"'\]/,/^\[.\+\]/'
    key_list=$(
      printf %s "$unit" |
      sed -n "$get_sect"'s/^\([[:alnum:]]\+\)[[:space:]]*=.*/\1/p' |
      sort -u
    )

    for key in $key_list
    do
      val=$(
        printf %s "$unit" |
        sed -n "$get_sect"'s/^'"$key"'[[:space:]]*=[[:space:]]*\(.*\)/\1/p'
      )
      var=$(
        echo "${section}_$key" |
        tr '[:upper:]' '[:lower:]'
      )
      eval ini_$var=\$val
      [ -n "$debug" ] && echo "ini_$var=$val" >&2
    done
  done

  IFS=$oldifs
}

# read a systemd configuration value and write its prefix to stdout
# usage: get_prefix val
# val		systemd configuration value
get_prefix () { printf %s "$1" | sed -n 's/^\([-@:+!|]*\).*/\1/p'; }

# read a boolean value and returns true or false
# usage: is_true val
# val		boolean value
is_true () { case "$1" in 1|[Oo][Nn]|[Tt]*|[Yy]*) true;; *) false; esac }

# read systemd services list and write LSB facilities to stdout
# usage: get_provides services
# services	list of service units
get_provides ()
{
  lst=
  for dep in $1
  do
    lst=${lst:+$lst }${dep%.service}
  done
  printf %s "$lst"
}

# read systemd units list and write LSB facilities to stdout
# usage: get_depends dependencies [ignores]
# dependencies	list of required units
# ignores	facilities to ignore
get_depends ()
{
  lst=
  for dep in $1
  do
    d=
    case $dep in
      local-fs-pre.target) d=mountkernfs;;
      time-sync.target) d=\$time;;
      systemd-modules-load.service) d=kmod;;
      local-fs.target|network-pre.target) d=\$local_fs;;
      systemd-sysctl.service) d=procps;;
      network.target|network-online.target|systemd-networkd.service)
        d=\$network;;
      nss-lookup.target) d=\$named;;
      rpcbind.target|remote-fs-pre.target) d=\$portmap;;
      remote-fs.target|sysinit.target|basic.target) d=\$remote_fs;;
      syslog.service) d=\$syslog;;
      boot-complete.target|multi-user.target|default.target) d=\$all;;
      *.service) d=${dep%.service};;
      *) echo "WARNING: unsupported target '$dep'" >&2
    esac

    ign=${2:+$2 }$lst
    [ -z "$ign" -o -n "${ign%%*"$d"*}" ] &&
      lst=${lst:+$lst }$d
  done

  printf %s "$lst"
}

# read LSB facilities list and write runlevel to stdout
# usage: get_runlevel facilities
# facilities	list of required facilities
get_runlevel ()
{
  case $1 in
    *\$remote_fs*) echo 2 3 4 5;;
    *) echo S
  esac
}

# write a list of environment files to be executed
# usage: write_env list
# list		files separated by newlines, with prefix (-)
write_env ()
{
  oldifs=$IFS
  IFS=$nl

  for env in $1
  do
    pre=$(get_prefix "$env")
    noerr=

    [ -n "$pre" -a -z "${pre%%*-*}" ] && noerr="[ -r ${env#$pre} ] && "

    printf '%s\n' "$noerr. ${env#$pre}"
  done

  IFS=$oldifs
}

# write an environment variable containing paths
# usage: write_path name prefix list
# name		name of the environment variable
# prefix	path prefix to append directories
# list		paths separated by spaces or newlines
write_path ()
{
  lst=
  for dir in $3
  do
    lst=${lst:+$lst:}$2/$dir
  done

  [ -z "$3" ] || printf '%s=%s\n' $1 $lst
}

# write a list of directories to be created
# usage: write_install prefix list [user [group [mode]]]
# prefix	path prefix to append directories
# list		paths separated by spaces or newlines
# user		user ownership
# group		group ownership
# mode		permission mode
write_install ()
{
  for dir in $2
  do
    printf '  install -d %s%s/%s || return 2\n' \
      "${3:+-o $3 }${4:+-g $4 }${5:+-m $5 }" "$1" "$dir"
  done
}

# write a list of commands applying systemd executable prefixes
# usage: write_commands list [run [runpriv]]
# list		commands separated by newlines, with prefixes (-@:+!)
# run		command line to run each command (nice, chrt, ...)
# runpriv	command line to set privileges (runuser, ...)
write_commands ()
{
  oldifs=$IFS
  IFS=$nl

  for cmd in $1
  do
    pre=$(get_prefix "$cmd")
    beg=$3
    end=' || return 2'

    if [ -n "$pre" ]
    then
      [ -z "${pre%%*-*}" ] && end=
      [ -z "${pre%%*[+!]*}" ] && beg=
      [ -z "${pre%%*[@:]*}" ] &&
        echo "WARNING: unsupported exec prefix '$pre'" >&2
    fi

    printf '  %s\n' "$2$beg${cmd#$pre}$end"
  done

  IFS=$oldifs
}

# read a list of commands separated by newlines and write an override function
# usage: write_function name [commands]
# name		function name (start_cmd, stop_cmd, ...)
# commands	list of commands, read from stdin if omitted
write_function ()
{
  lst=${2-$(cat)}

  [ -n "$lst" ] || return
  [ "$lst" = : ] && printf "do_${1}_override () :\n\n" && return

  end='  true\n'
  [ -z "${lst%%*|| return [0-9]}" -o -z "${lst%%*|| return \$?}" ] && end=
  printf "do_${1}_override ()\n{\n%s\n$end}\n\n" "$lst"
}

# write an init-d-script file starting from the ini_* vars (see read_unit)
# usage: write_init servicename instance
# servicename	name of the service provided
# instance	instance name for template units
write_init ()
{
  name=$1
  instance=$2

  if [ "${name%@}" != "$name" ]
  then
    name=$name$instance
  fi

  daemon_pre=$(get_prefix "$ini_service_execstart")
  daemon=${ini_service_execstart#$daemon_pre}

  if [ "${daemon%%[[:space:]]*}" != "$daemon" ]
  then
    daemon_args=${daemon#*[[:space:]]}
    daemon=${daemon%%[[:space:]]*}
  fi

  pidfile=$ini_service_pidfile

  if [ -n "$ini_service_user" ]
  then
    start_args="--user $ini_service_user"
    [ -n "$daemon_pre" -a -z "${daemon_pre%%*[+!]*}" ] ||
      start_args="$start_args --chuid $ini_service_user"
    stop_args="--user $ini_service_user"
    runprivstart="runuser -u $ini_service_user -- "
    is_true "$ini_service_permissionsstartonly" || runpriv=$runprivstart
  fi

  cls=$ini_service_ioschedulingclass
  pri=$ini_service_ioschedulingpriority
  [ -n "$cls$pri" ] &&
    start_args="$start_args --iosched ${cls:-best-effort}${pri:+:$pri}" &&
    run="ionice ${cls:+-c $cls }${pri:+-n $pri }"

  pol=$ini_service_cpuschedulingpolicy
  pri=$ini_service_cpuschedulingpriority
  [ -n "$pol$pri" ] &&
    start_args="$start_args --procsched ${pol:-other}${pri:+:$pri}" &&
    run="${run}chrt ${pol:+--$pol }${pri:-0} "

  [ -n "$ini_service_nice" ] &&
    start_args="$start_args --nicelevel $ini_service_nice" &&
    run="${run}nice -n $ini_service_nice "

  pre=$(get_prefix "$ini_service_workingdirectory")
  workdir=${ini_service_workingdirectory#$pre}
  [ "$workdir" = '~' ] && workdir=\~$ini_service_user
  [ -n "$workdir" ] &&
    start_args="$start_args --chdir $workdir" &&
    chdir="${pre}cd $workdir"

  if [ -z "${service_type:=$ini_service_type}" ]
  then
    if [ -n "$ini_service_busname" ]
    then
      service_type=dbus
    elif [ -n "$ini_service_execstart" ]
    then
      service_type=simple
    else
      service_type=oneshot
    fi
  fi

  if [ "$service_type" != forking ]
  then
    start_args="$start_args --background"
    [ -z "$pidfile" -a "$ini_service_killmode" != none ] &&
      start_args="$start_args --make-pidfile" &&
      pidfile="/var/run/$name-sysd2v.pid"
  fi

  if [ "$service_type" = notify ]
  then
    start_args="$start_args --notify-await"
    timeout=${ini_service_timeoutstartsec:-$ini_service_timeoutsec}
    timeout=${timeout%s}
    [ -n "${timeout#60}" ] &&
      start_args="$start_args --notify-timeout $timeout"
    [ -n "$timeout" -a -z "${timeout%%*[^0-9]*}" ] &&
      echo "WARNING: unsupported timeout '$timeout'" >&2
  elif [ "$service_type" = dbus ]
  then
    : TODO
  fi

  signal=${ini_service_killsignal#SIG}
  timeout=${ini_service_timeoutstopsec:-$ini_service_timeoutsec}
  timeout=${timeout%s}
  [ -n "${signal#TERM}" -o -n "${timeout#90}" ] &&
    stop_args="$stop_args --retry=${signal:-TERM}/${timeout:-90}/KILL/5"

  limitnofile=$ini_service_limitnofile
  [ "$limitnofile" = infinity ] && limitnofile=unlimited

  need_install=$ini_service_runtimedirectory
  need_install=$need_install$ini_service_statedirectory
  need_install=$need_install$ini_service_cachedirectory
  need_install=$need_install$ini_service_logsdirectory
  need_install=$need_install$ini_service_configurationdirectory

  need_do_start=$ini_service_execstartpre$ini_service_execstartpost
  need_do_start=$need_do_start$need_install

  execstop=$ini_service_execstop

  if [ "$service_type" != oneshot ]
  then
    [ "$pidfile" = "/var/run/${daemon##*/}.pid" ] && unset pidfile
    [ "$name" = "${daemon##*/}" ] && unset name

    [ -n "$daemon_args" -a -z "${daemon_args%%*[\"\\]*}" ] &&
      echo "WARNING: DAEMON_ARGS needs to be escaped" >&2
    errcheck=' || return $?'

    if [ -n "$daemon_pre" ]
    then
      [ -z "${daemon_pre%%*-*}" ] && errcheck=
      [ -z "${daemon_pre%%*[@:]*}" ] &&
        echo "WARNING: unsupported exec prefix '$daemon_pre'" >&2
    fi

    # TODO: test if already running before start (pretest="+do_status_cmd")
    [ -n "$need_do_start" -o -z "$errcheck" ] &&
      execstart="-+do_start_cmd$errcheck"

    errcheck=' || return $?'
    [ -n "$execstop" ] && errcheck=
    [ -n "$execstop$ini_service_execstoppost" -a \
      "$ini_service_killmode" != none ] &&
      killstop="-do_stop_cmd$errcheck"

    [ -n "$timeout" -a -z "${timeout%%*[^0-9]*}" ] &&
      echo "WARNING: unsupported timeout '$timeout'" >&2
  else
    daemon=none
    pidfile=none
    : ${name:=SERVICE_NAME}
    unset daemon_args start_args stop_args
    execstart=$ini_service_execstart
    runstart=$run
  fi

  need_do_start=$need_do_start$execstart
  start_args=${start_args# }
  stop_args=${stop_args# }

  aliases=$(get_provides "$ini_install_alias")

  [ -z "$ini_unit_defaultdependencies" ] ||
    is_true "$ini_unit_defaultdependencies" &&
    defdep=sysinit.target

  req_start=$(get_depends "$ini_unit_requires $defdep")
  should_start=$(get_depends "$ini_unit_wants $ini_unit_after" "$req_start")

  default_start=$(get_runlevel "$req_start $should_start")
  [ "$default_start" = S ] && default_stop='0 6' || default_stop='0 1 6'
  [ -z "$execstop$ini_service_execstoppost" ] &&
    [ "$service_type" = oneshot -o "$ini_service_killmode" = none ] &&
    default_stop=

  [ "$default_start" = S ] && ignore=\$remote_fs
  start_before=$(get_depends "$ini_unit_requiredby $ini_install_wantedby
    $ini_unit_before" "$req_start $should_start \$all $ignore")

  cat <<EOF
#!/bin/sh
# Generated by sysd2v v0.3  --  http://www.trek.eu.org/devel/sysd2v
# kFreeBSD do not accept scripts as interpreters, using #!/bin/sh and sourcing.
if [ true != "\$INIT_D_SCRIPT_SOURCED" ] ; then
    set "\$0" "\$@"; INIT_D_SCRIPT_SOURCED=true . /lib/init/init-d-script
fi
### BEGIN INIT INFO
# Provides:       ${name:-${daemon##*/}}${aliases:+ $aliases}
# Required-Start: $req_start
# Required-Stop:  ${default_stop:+$req_start}
${should_start:+# Should-Start:   $should_start
${default_stop:+# Should-Stop:    $should_start
}}${start_before:+# X-Start-Before: $start_before
${default_stop:+# X-Stop-After:   $start_before
}}# Default-Start:  $default_start
# Default-Stop:   $default_stop
# Description:    ${ini_unit_description:-SERVICE_DESCRIPTION}
### END INIT INFO
EOF

  if [ -n "$ini_service_environment$ini_service_environmentfile$need_install" ]
  then
    echo set -a
    write_path RUNTIME_DIRECTORY /run "$ini_service_runtimedirectory"
    write_path STATE_DIRECTORY /var/lib "$ini_service_statedirectory"
    write_path CACHE_DIRECTORY /var/cache "$ini_service_cachedirectory"
    write_path LOGS_DIRECTORY /var/log "$ini_service_logsdirectory"
    write_path CONFIGURATION_DIRECTORY /etc \
      "$ini_service_configurationdirectory"
    printf '%s' "${ini_service_environment:+$ini_service_environment$nl}"
    write_env "$ini_service_environmentfile"
    printf 'set +a\n\n'
  fi

  cat <<EOF
${name:+DESC=\"$name\"
}DAEMON=$daemon
${daemon_args:+DAEMON_ARGS=\"$daemon_args\"
}${pidfile:+PIDFILE=$pidfile
}${start_args:+START_ARGS=\"$start_args\"
}${stop_args:+STOP_ARGS=\"$stop_args\"
}${limitnofile:+ulimit -n $limitnofile
}${ini_service_umask:+umask $ini_service_umask
}
EOF

  if [ -n "$need_do_start" ]
  then
    {
      write_install /run "$ini_service_runtimedirectory" \
        "$ini_service_user" "$ini_service_group" \
        "$ini_service_runtimedirectorymode"
      write_install /var/lib "$ini_service_statedirectory" \
        "$ini_service_user" "$ini_service_group" \
        "$ini_service_statedirectorymode"
      write_install /var/cache "$ini_service_cachedirectory" \
        "$ini_service_user" "$ini_service_group" \
        "$ini_service_cachedirectorymode"
      write_install /var/log "$ini_service_logsdirectory" \
        "$ini_service_user" "$ini_service_group" \
        "$ini_service_logsdirectorymode"
      write_install /etc "$ini_service_configurationdirectory" '' '' \
        "$ini_service_configurationdirectorymode"
      write_commands "$chdir"
      write_commands "$ini_service_execstartpre" "$run" "$runpriv"
      write_commands "$execstart" "$runstart" "$runprivstart"
      write_commands "$ini_service_execstartpost" "$run" "$runpriv"
    } | write_function start_cmd
  else
    [ "$service_type" = oneshot ] && write_function start :
  fi

  if [ -n "$execstop$ini_service_execstoppost" ]
  then
    {
      write_commands "$chdir"
      write_commands "$execstop" "$run" "$runpriv"
      write_commands "$killstop"
      write_commands "$ini_service_execstoppost" "$run" "$runpriv"
    } | write_function stop_cmd
  else
    [ "$service_type" = oneshot -o "$ini_service_killmode" = none ] &&
      write_function stop :
  fi

  if [ "$ini_service_execreload" = '/bin/kill -HUP $MAINPID' -a \
       -z "$run$runpriv" ]
  then
    printf 'alias do_reload=do_reload_sigusr1\n\n'
  elif [ -n "$ini_service_execreload" ]
  then
    {
      write_commands "$chdir"
      write_commands "$ini_service_execreload" "$run" "$runpriv"
    } | write_function reload_cmd

    cat <<"EOF"
do_reload ()
{
  log_daemon_msg "Reloading $DESC configuration files" "$NAME"
  MAINPID=$(cat $PIDFILE)
  do_reload_cmd_override
  log_end_msg $?
}
EOF
  fi

  [ "$service_type" = oneshot ] && write_function status :
}

# parse command line
while getopts di:n: opt
do
    case $opt in
      d) debug=1;;
      i) instance=$OPTARG;;
      n) name=$OPTARG;;
      ?) printf "Usage: %s [-d] [-i instance] [-n servicename] [filename]\n" \
           "$0"
         exit 2;;
    esac
done

: ${instance=INSTANCE_NAME}
shift $(($OPTIND - 1))

# convert unit file
read_unit "${1:--}" "$instance"
write_init "${name-$inifile_unit_name}" "$instance"

I have a copy... (not sure if I may post it here in code tags???)
happy to share.

Maybe it'll work for you. Just look out for start and stop levels being consistent with your system.

#273 Re: News & Announcements » Shape of things to come? 8^° » 2023-11-30 23:42:57

I wish I could leave Wayland out of my system.

I don't directly use Gnome, systemd, pulseaudio or wayland with kde5/Plasma.

I wonder Why it is packaged with those dependencies?

#274 Re: Documentation » How to: Devuan 5 Daedalus an pipewire » 2023-11-28 23:14:12

Somewhere I read the starting order was important... but mine looks different.

~.xsessionrc

# kill any existing pipewire instance to restore sound
pkill -u "$USER" -fx /usr/bin/pipewire-pulse 1>/dev/null 2>&1
pkill -u "$USER" -fx /usr/bin/wireplumber 1>/dev/null 2>&1
pkill -u "$USER" -fx /usr/bin/pipewire 1>/dev/null 2>&1

exec /usr/bin/pipewire &

# wait for pipewire to start before attempting to start related daemons
while [ "$(pgrep -f /usr/bin/pipewire)" = "" ] ; do
   sleep 1
done

exec /usr/bin/wireplumber &

exec /usr/bin/pipewire-pulse &

I arrived here by attempting to remove pulseaudio altogether, but too many things were silent.

I can't be certain, I think I got it from this forum. HoaS?

Services, rc-update only has alsa-utils at sysinit level.

The only pulse audio packages I have are the ones that would also take most of the install as well, usually libpulse0, plasma-pa, pipewire-pulse, libpulse-mainloop-glib0. But not apulse.

Just my 2cents worth, hoping this may help someone.

#275 Re: Off-topic » What are you reading/want to read ? » 2023-11-27 23:03:38

1984, disgusting book, well worth the second read 20 years later.

Today I'm reading 'Alan Watts - The Way of Zen'.

I don't know anything about it... wip

Board footer

Forum Software