The officially official Devuan Forum!

You are not logged in.

#326 Re: Desktop and Multimedia » [SOLVED] HDMI - no sound output; microphone - no sound input » 2025-06-29 16:33:08

It seems that the problem was in pulseaudio.
It means that sound may disappear in any moment.

#327 Re: Desktop and Multimedia » [SOLVED] HDMI - no sound output; microphone - no sound input » 2025-06-29 11:27:17

Post the output of fuser and inxi:

fuser -av $(find /dev/snd -type c 2>/dev/null)
inxi -A

inxi: everything you need to know about your computer
_https://easylinuxtipsproject.blogspot.com/p/inxi.html

sudo apt install inxi

#328 Re: Freedom Hacks » Automounting USB Drives (NTFS, exFAT) with dmask=022,fmask=133 » 2025-06-26 21:40:25

On Ubuntu, the NTFS driver (read and write) was installed and enabled by default since 2007.
It worked without problems and "compatibility issues".
It seems that this particular security problem occurred about ten years ago, for example:
_https://unix.stackexchange.com/questions/296967/how-to-recursively-remove-execute-permissions-from-files-without-touching-folder
_https://unix.stackexchange.com/q/296967
Nothing was done to fix it.
You may not believe, but computer science students (and their professors, perhaps), usually do not notice that this problem exists. They simply install Ubuntu and use it for their projects.
It might be obvious that this strange phenomenon correlates with pulseaudio and systemd.
It is very probable that it is a symptom of dementia caused by pulseaudio and enhanced by pipewire.

EDIT:
Because of dementia, it might be difficult to understand that what kind of security problem it is.
It is a backdoor in Devuan.

It seems that Stuxnet is already forgotten (because of dementia).

It is typically introduced to the target environment via an infected USB flash drive, thus crossing any air gap. The worm then propagates across the network, scanning for Siemens Step7 software on computers controlling a PLC.
_https://en.wikipedia.org/wiki/Stuxnet

Uh-oh. How just inserting a USB drive can pwn a Linux box
_https://www.bitdefender.com/en-us/blog/hotforsecurity/uh-oh-how-just-inserting-a-usb-drive-can-pwn-a-linux-box

CVE-2025-37986 is a vulnerability discovered in the Linux kernel's USB Type-C device pointer handling system, disclosed on May 20, 2025.
_https://www.wiz.io/vulnerability-database/cve/cve-2025-37986

Linux USB Subsystem Vulnerabilities
Fourteen vulnerabilities have been found to be affecting the USB subsystem on Linux. The vulnerabilities affect all Linux devices with USB ports. However, physical access is required to initiate them.

Threat ID:
    CC-1777
Category:
    Exploit
Threat Severity:
    Low
Threat Vector:
Published:
    14 November 2017 12:00 AM
_https://digital.nhs.uk/cyber-alerts/2017/cc-1777

Researchers found 26 new vulnerabilities in the USB drivers used in Windows, Linux, macOS and other systems.
_https://www.hugdiy.com/blog/you-wouldnt-know-until-you-test-it-how-to-restore-all-these-usb-vulnerabilities/

#329 Re: Freedom Hacks » Automounting USB Drives (NTFS, exFAT) with dmask=022,fmask=133 » 2025-06-26 14:28:06

The latest version of Linux Mint (22.1) has the same security problem.
USB Drives (NTFS, exFAT) are automatically mounted with all files executable.
Nobody complains, and nobody is trying to fix the problem.

This seems to be a symptom of dementia caused by pulseaudio and pipewire.
It may also explain a strange phenomenon of Neo-Luddism and AI hate
_https://en.wikipedia.org/wiki/Neo-Luddism
_https://en.wikipedia.org/wiki/Luddite

Perhaps, it is too late to do something about Devuan Wiki.

#330 Re: Desktop and Multimedia » RefractaOS - (Devuan Daedalus Based) Fresh Install SOUND OK XCEPT4FBK? » 2025-06-24 14:07:04

You may post the output of this command:

fuser -av $(find /dev/snd -type c 2>/dev/null)

For example:

➤ fuser -av $(find /dev/snd -type c 2>/dev/null)
                     USER        PID ACCESS COMMAND
/dev/snd/controlC0:  igor       2235 F.... mate-settings-d
                     igor       2326 F.... mate-volume-con
/dev/snd/pcmC0D0c:
/dev/snd/pcmC0D0p:   igor       3201 F...m firefox-esr
/dev/snd/seq:
/dev/snd/timer:      igor       3201 f.... firefox-esr

And the output of

inxi -A
sudo apt install inxi

inxi: everything you need to know about your computer
_https://easylinuxtipsproject.blogspot.com/p/inxi.html

#331 Re: Desktop and Multimedia » RefractaOS - (Devuan Daedalus Based) Fresh Install SOUND OK XCEPT4FBK? » 2025-06-20 01:55:39

➤ apt-file find /etc/alsa/conf.d
...
libasound2-plugins: /etc/alsa/conf.d/10-rate-lav.conf
libasound2-plugins: /etc/alsa/conf.d/10-samplerate.conf
libasound2-plugins: /etc/alsa/conf.d/10-speexrate.conf
libasound2-plugins: /etc/alsa/conf.d/50-arcam-av-ctl.conf
libasound2-plugins: /etc/alsa/conf.d/50-jack.conf
libasound2-plugins: /etc/alsa/conf.d/50-oss.conf
libasound2-plugins: /etc/alsa/conf.d/50-pulseaudio.conf
libasound2-plugins: /etc/alsa/conf.d/60-a52-encoder.conf
libasound2-plugins: /etc/alsa/conf.d/60-speex.conf
libasound2-plugins: /etc/alsa/conf.d/60-upmix.conf
libasound2-plugins: /etc/alsa/conf.d/60-vdownmix.conf
libasound2-plugins: /etc/alsa/conf.d/98-usb-stream.conf
libasound2-plugins: /etc/alsa/conf.d/99-pulseaudio-default.conf.example
...

See also:
_https://www.commandlinux.com/man-page/man1/apt-file.1.html

#332 Re: Desktop and Multimedia » Printer suddenly stopped working recently » 2025-06-09 21:06:18

If you google "No suitable destination host found by cups-browsed," you get:
"SOLVED: no suitable destination host found by cups-browsed"
_https://forums.linuxmint.com/viewtopic.php?t=380704
“No suitable Destination Host found by cups-browsed”
_https://askubuntu.com/questions/1128164/no-suitable-destination-host-found-by-cups-browsed
and a lot of similar links

Possible solutions:

apt purge cups-browsed

_https://forums.linuxmint.com/viewtopic.php?t=380704

First: uninstall cups-browsed

sudo apt-get purge --autoremove cups-browsed

Next: Restart your computer

Finally manually add your printer
_https://askubuntu.com/a/1128869

#333 Re: Freedom Hacks » How to change dependencies of a Debian package » 2025-06-08 16:40:57

It is very human to do nothing, but a sort of wiki might be needed.

#334 Re: Freedom Hacks » How to change dependencies of a Debian package » 2025-06-08 15:44:13

"...but i'm no expert at documentation or linux".

You can simply imagine that you are. It will work.
If you are a student, this is the best way to learn Linux.

#335 Re: Freedom Hacks » How to change dependencies of a Debian package » 2025-06-08 14:02:40

To a socially responsible expert on Linux documentation, that is, to you.

#336 Re: Freedom Hacks » How to change dependencies of a Debian package » 2025-06-08 12:53:13

Have you noticed that the Devuan wiki is almost empty?
It means that all knowledge might be forgotten because of dementia.

Since you are the only person who really knows how to write technical documentation, you may try to fill the Devuan wiki with exact technical knowledge. Perhaps, you should try, if you are a socially responsible Linux user.

Social responsibility is an ethical concept in which a person works and cooperates with other people and organizations for the benefit of the community.
_https://en.wikipedia.org/wiki/Social_responsibility

⟡ AI Overview

To write effective technical documentation, focus on understanding your audience, organizing information logically, and presenting content clearly and concisely. Use visuals, gather feedback, and prioritize consistency to create documentation that meets user needs.

#337 Re: Desktop and Multimedia » What is the procedure for sound out of alsa without pulseaudio? » 2025-06-05 10:16:56

Perhaps, one may try

SoundDriver = ALSA

See: _https://wiki.archlinux.org/title/MOC#Configuration

There might be some other options...

To use MOC with OSS v4.1 you must change OSSMixerDevice to /dev/ossmix in your configuration file (located in ~/.moc). For issues with the interface try changing the OSSMixerChannel by pressing w in mocp (to change to the sofware mixer).
_https://wiki.archlinux.org/title/Open_Sound_System#MOC

#338 Re: Desktop and Multimedia » What is the procedure for sound out of alsa without pulseaudio? » 2025-06-05 01:11:30

@delgado

If you pretend to be more intelligent than AI, you may try to help MLEvD to solve the problem.

#339 Re: Freedom Hacks » GPU - set fan speeds (nVidia settings) » 2025-06-04 10:14:27

I am ignorant in the topic. But I had already burnt one GPU, experimenting with a very old notebook. Perhaps, one may better ask AI: What is the quietest PC fan?

#340 Re: Desktop and Multimedia » What is the procedure for sound out of alsa without pulseaudio? » 2025-06-03 12:22:47

ralph.ronnquist wrote:

Yes, pulseaudio is quite "intrusive"; it installs itself as the default audio path handler into the ALSA configuration

It is not exactly the case. ALSA was stripped off software mixer to be raped by pulseaudio. The problem is that the secret esoteric technology of configuring software mixers for ALSA was somehow forgotten, largely because of dementia, perhaps. If ALSA is such a problem, one may try OSS4. It is not very difficult to compile. The PKGBUILD and patches are available here:
_https://aur.archlinux.org/packages/oss-git

OSS was designed as a classical sound system. More exactly, it was the first one.
ALSA was designed as a sort of universal software mixer. That is why it does not permit "exclusive mode".
ALSA without a correctly configured software mixer is like a car without a motor and wheels.

⟡ AI Overview

ALSA has both a userspace component and a kernel component. The kernel component provides drivers that directly interact with sound hardware, while the userspace component provides a higher-level API for applications to interact with the sound devices. The userspace component offers more general functions like mixing, routing, and effects, abstracting away the complexities of different hardware

#341 Re: Freedom Hacks » How to build a portable wxMaxima-25.04.0 and a Debian package for it. » 2025-06-03 03:56:34

Compiling wxMaxima_25.04.0 with GCC-15 on Devuan 5 Daedalus

Portable CMake is available here:
_https://github.com/Kitware/CMake
Portable Ninja is available here:
_https://github.com/ninja-build/ninja
Portable GCC is available here:
_https://github.com/Frogging-Family/mostlyportable-gcc

Portable CMake and Ninja are ready to use.
Portable GCC is easy to compile.

➤ gcc --version
gcc (TkG-mostlyportable) 15.1.1 20250601
➤ g++ --version
g++ (TkG-mostlyportable) 15.1.1 20250601
➤ cmake --version
cmake version 4.0.2
➤ ninja --version
1.12.1 

1. Generating the Buildsystem

cmake -S wxmaxima -B build -G Ninja -DCMAKE_BUILD_TYPE="Release" -DCPACK_DEBIAN_PACKAGE_MAINTAINER=Daedalus -DCMAKE_INSTALL_PREFIX='/usr' -DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config -DWXM_INTERPROCEDURAL_OPTIMIZATION=ON -Wno-dev 
-- The CXX compiler identification is GNU 15.1.1
...
-- CMake version:                      4.0.2
-- CMake build type:                   Release
...
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.4") found components: doxygen dot
-- Found po4a: /usr/bin/po4a (found version "0.73")
...
-- Found pandoc: /usr/bin/pandoc (found version "2.17.1.1")
-- Found LATEX: /usr/bin/latex  found components: XELATEX LUALATEX
-- Found ImageMagick: /usr/bin/identify (found version "6.9.11-60")
-- Found Gettext: /usr/bin/msgmerge (found version "0.21")
...
-- Found Maxima: /usr/bin/maxima (found version "5.47post")
-- Found appstreamcli: /usr/bin/appstreamcli (found version "0.16.1") 

2. Compiling with invisible Ninja

cmake --build build 

3. Making a Debian package with CPack

cpack --config build/CPackConfig.cmake -G DEB 
➤ cpack --config build/CPackConfig.cmake -G DEB
CPack: Create package using DEB
CPack: Install projects
CPack: - Install project: wxMaxima []
CPack: Create package
CPackDeb: - Generating dependency list
CPack: - package:.../Build1/wxmaxima_25.04.0-1_amd64.deb generated.
➤ ls -1
build
_CPack_Packages
wxmaxima
wxmaxima_25.04.0-1_amd64.deb 
➤ tree -L 5 _CPack_Packages
_CPack_Packages
└── Linux
    └── DEB
        ├── wxmaxima_25.04.0-1_amd64.deb
        └── wxMaxima-25.04.0-Linux
            ├── control
            ├── control.tar.gz
            ├── data.tar.gz
            ├── debian-binary
            ├── md5sums
            └── usr
                ├── bin
                └── share 
➤ dpkg --info wxmaxima_25.04.0-1_amd64.deb | grep Depends
 Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11), libwxbase3.2-1 (>= 3.2.2+dfsg), libwxgtk-webview3.2-1 (>= 3.2.2+dfsg), libwxgtk3.2-1 (>= 3.2.1+dfsg-2) 

These dependencies are very good in the sense that the package can be installed on Devuan 5.
The only problem is that they are wrong. This can be easily verified:

➤ cd _CPack_Packages/Linux/DEB/wxMaxima-25.04.0-Linux/usr/bin
➤ ls
wxmaxima
➤ ./wxmaxima
./wxmaxima: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by ./wxmaxima)
./wxmaxima: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.15' not found (required by ./wxmaxima) 

It means that wxMaxima depends on certain libraries compiled together with the portable gcc-15. This problem can be easily fixed, but, first of all, we have to find the cause of the deception.

Debian is deceptive, and, perhaps, fundamentally wrong by design.
We have several hypotheses to verify:
1. The CMake developers do not know the secret esoteric method with which to calculate dependencies.
2. The secret esoteric method is wrong.
3. The Debian "dependency system" is fundamentally wrong.

➤  cd ../../../
➤ ls -1
wxmaxima_25.04.0-1_amd64.deb
wxMaxima-25.04.0-Linux
➤ mkdir debian
➤ ls -1
debian
wxmaxima_25.04.0-1_amd64.deb
wxMaxima-25.04.0-Linux
➤ echo -e "Source: wxmaxima\nPackage: wxmaxima\nDepends: \${shlibs:Depends}" >> debian/control
➤ cat debian/control
Source: wxmaxima
Package: wxmaxima
Depends: ${shlibs:Depends} 
dpkg-shlibdeps -v -xwxmaxima --ignore-missing-info -e $(find wxMaxima-25.04.0-Linux -type f 2>/dev/null) 
➤ cat debian/substvars
shlibs:Depends=libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11), libwxbase3.2-1 (>= 3.2.2+dfsg), libwxgtk-webview3.2-1 (>= 3.2.2+dfsg), libwxgtk3.2-1 (>= 3.2.1+dfsg-2)

dpkg-shlibdeps produced the same wrong dependencies.

CONCLUSION: The CMake developers are using the same secret esoteric method to calculate dependencies of Debian packages, and this method is wrong.
The method is secret, simply because the system is buggy.
dpkg-shlibdeps cannot be trusted. It is as reliable as weather forecast. Sometimes it is true. Sometimes it is wrong.
The Debian packaging system is either logically inconsistent, or fundamentally wrong by design. This may require a further investigation.

It seems that dpkg-shlibdeps is capable of calculating imaginary esoteric virtual dependencies which are somehow related to the real world dependencies. It might be a product of "demented artificial intelligence", perhaps.

Nevertheless, these dependencies a very good, for they do not prevent installation of the package. The only problem to fix is that of shared libraries. It has a standard solution.

sudo apt install fakeroot patchelf 
➤ fakeroot
# mkdir debdir
# ls -1
debdir
debian
wxmaxima_25.04.0-1_amd64.deb
wxMaxima-25.04.0-Linux
# dpkg-deb -R wxmaxima_25.04.0-1_amd64.deb debdir
# patchelf --print-rpath debdir/usr/bin/wxmaxima
   <empty>
# patchelf --set-rpath $HOME/.CTools/gcc-15.1.1/lib64 debdir/usr/bin/wxmaxima
# patchelf --print-rpath debdir/usr/bin/wxmaxima
~/.CTools/gcc-15.1.1/lib64
# exit
exit 
➤ ./debdir/usr/bin/wxmaxima --version
wxMaxima 25.04.0 (Git version: 583c11f) 
➤ cd debdir
➤ mv -v DEBIAN/md5sums ..
renamed 'DEBIAN/md5sums' -> '../md5sums'
➤ fakeroot
# find . -type f -not -path "./DEBIAN/*" -exec md5sum {} + | sort -k 2 | sed 's/\.\/\(.*\)/\1/' > DEBIAN/md5sums
# ls -1 DEBIAN
control
md5sums
# cd ..
# chmod 0644 -- debdir/DEBIAN/md5sums 
# dpkg-deb -b debdir wxmaxima_25.04.0-1_amd64-fixed.deb
dpkg-deb: building package 'wxmaxima' in 'wxmaxima_25.04.0-1_amd64-fixed.deb'.
# exit
exit
➤  cd ..
➤ ls -1 *.deb
wxmaxima_25.04.0-1_amd64.deb
wxmaxima_25.04.0-1_amd64-fixed.deb 

Now we can install wxMaxima

sudo dpkg -i wxmaxima_25.04.0-1_amd64-fixed.deb 
➤ wxmaxima --version
wxMaxima 25.04.0 (Git version: 583c11f)

#342 Re: Freedom Hacks » How to change dependencies of a Debian package » 2025-06-02 21:29:14

@greenjeans

Coffee may not help, if you are not initiated into the secret knowledge.
You may better google "Anthropology of GNU/Linux".

Do you know another method to calculate dependencies  (>=) of Debian packages?
It might be very useful for verification.

#343 Re: Freedom Hacks » How to change dependencies of a Debian package » 2025-06-01 17:50:10

@greenjeans

It is not difficult to unpack a Debian package, edit "control" with a text editor (nano, pluma, or mousepad, or else), and pack it again.

What is the "Best Kept Secret" is how to calculate the true dependencies.
That is why you have to fake a "sourcedir" (create a fake debian/control).
Then you can run "dpkg-shlibdeps". Otherwise, it may complain about missing "debian/control", for example:

➤ dpkg-shlibdeps /usr/bin/whereis
dpkg-shlibdeps: error: cannot read debian/control: No such file or directory 

Why is it a sort of secret knowledge? It is about a ritual justification of social status.

⟡AI Overview
Secular rituals, which are non-religious customs and practices, can influence social status by fostering social bonding and positive affect, similar to religious rituals. Studies have shown that secular rituals, like those at Sunday Assemblies, can increase social connection, boost positive emotions, and decrease negative emotions, potentially leading to improved mental well-being.
Here's a more detailed look at how secular rituals impact social status:
1. Fostering Social Bonding:
Secular rituals, such as family traditions, celebrations, or community gatherings, can create a sense of belonging and connection among participants.
Rituals can reinforce shared values and beliefs, strengthening social bonds within a group.
Studies have found that the increase in social bonding in secular rituals is comparable to religious rituals.
2. Boosting Positive Affect and Reducing Negative Affect:
Participating in secular rituals can lead to increased positive emotions and decreased negative emotions.
These positive emotions can, in turn, contribute to a greater sense of social connection and well-being.
The "broaden and build" hypothesis suggests that positive emotions broaden attention, leading to more social connections and improved mental well-being.
3. Examples of Secular Rituals:
Family traditions: Celebrating holidays, birthdays, or other milestones with specific rituals.
Community gatherings: Participating in local festivals, community events, or sporting events.
Rites of passage: Celebrating graduations, weddings, or other life transitions with rituals.
Creating your own secular rituals: Developing personal practices that mark important moments or foster connections.
4. Social Status and Secular Rituals:
Participating in secular rituals can contribute to a higher social status by strengthening social bonds and fostering a sense of belonging.
By actively engaging in these rituals, individuals may be perceived as more connected, engaged, and socially skilled.
Rituals can also serve as a way to express shared values and beliefs, reinforcing group identity and social cohesion.
5. Secular Rituals as an Alternative to Religious Rituals:
For individuals who do not identify with religious traditions, secular rituals can provide a means of experiencing social bonding and positive affect.
Secular rituals can serve as an alternative way to create meaning and purpose in life while still fostering social connection.
By participating in secular rituals, individuals may feel more connected to their community and less isolated.
United on Sunday: The effects of secular rituals on social bonding and affect
27 Jan 2021

PubMed
United on Sunday: The effects of secular rituals on social ...
Results showed the increase in social bonding taking place in secular rituals is comparable to religious rituals. We also found th...
PubMed Central
The effects of secular rituals on social bonding and affect - PLOS
27 Jan 2021 — However, whether the social bonding effect reported from religious rituals is also seen in secular rituals that mimic t...

AI responses may include mistakes.

#344 Re: Freedom Hacks » How to change dependencies of a Debian package » 2025-06-01 14:04:57

$ apt-cache policy
...
Pinned packages:
     pipewire-pulse -> 0.3.65-3+deb12u1 with priority -1
     pulseaudio -> 16.1+dfsg1-2+b1 with priority -1    
     pipewire -> 0.3.65-3+deb12u1 with priority -1
     pavucontrol -> 5.0-2 with priority -1
     gstreamer1.0-alsa -> 1.22.0-3+deb12u4 with priority -1
     gstreamer1.0-alsa -> 1.22.0-3+deb12u3 with priority -1
     gstreamer1.0-pipewire -> 0.3.65-3+deb12u1 with priority -1
     pipewire-bin -> 0.3.65-3+deb12u1 with priority -1
     pulseaudio-module-bluetooth -> 16.1+dfsg1-2+b1 with priority -1
     gstreamer1.0-pulseaudio -> 1.22.0-5+deb12u2 with priority -1 

     
ALSA users have to install gstreamer1.0-alsa and remove gstreamer1.0-pulseaudio in order to improve sound quality with gstreamer.

OSS4 users have to remove gstreamer1.0-alsa and gstreamer1.0-pulseaudio. This automatically enables the gstreamer OSS4 backend (if OSS4 is installed).

gstreamer1.0-pipewire should also be removed.

The unwanted plugins should also be pinned.

#345 Re: Freedom Hacks » How to change dependencies of a Debian package » 2025-06-01 11:57:37

RE: "Devuanite experience"

I have not yet noticed pulseaudio in Recommends. It should not be there. If it is in Recommends, it is automatically installed.
Of course, it can be installed against your will. That is why you have to pin it with a secret esoteric command.

On Devuan, one may still need to have a long list of pinned packages.
There is a conspiracy theory about "Apt’s Best Kept Secret" (a sort of post-esoteric surrealism, perhaps).

Since I am using OSS4 with gstreamer, I have to pin gstreamer1.0-pulseaudio and gstreamer1.0-alsa with the secret command.
Now, they are not going to be installed:

➤ apt-cache policy gstreamer1.0-pulseaudio gstreamer1.0-alsa
gstreamer1.0-pulseaudio:
  Installed: (none)
  Candidate: (none)
  Version table:
     1.22.0-5+deb12u2 -1
        500 http://deb.devuan.org/merged daedalus/main amd64 Packages
        500 http://deb.devuan.org/merged daedalus-security/main amd64 Packages
gstreamer1.0-alsa:
  Installed: (none)
  Candidate: (none)
  Version table:
     1.22.0-3+deb12u4 -1
        500 http://deb.devuan.org/merged daedalus/main amd64 Packages
     1.22.0-3+deb12u3 -1
        500 http://deb.devuan.org/merged daedalus-security/main amd64 Packages 
➤ apt install clementine --simulate
NOTE: This is only a simulation!
...
Recommended packages:
  gstreamer1.0-alsa | gstreamer1.0-pulseaudio
The following NEW packages will be installed:
  clementine liblastfm5-1 libmygpo-qt5-1 

⟡ AI Overview

Post-esoteric surrealism refers to the period of surrealism after World War II, where the movement shifted away from the initial emphasis on the unconscious and dreamlike imagery towards a greater focus on the occult and esoteric aspects of art and philosophy. This shift was influenced by the tumultuous events of the war and the subsequent rise of existentialism and other philosophical movements.

#346 Re: Freedom Hacks » How to change dependencies of a Debian package » 2025-06-01 02:25:10

There is a secret method with which to calculate the true dependencies of a Debian package.

➤ man dh_shlibdeps | grep DESCRIPTION -A5
DESCRIPTION
       dh_shlibdeps is a debhelper program that is responsible for calculating shared library dependencies
       for packages.

       This program is merely a wrapper around dpkg-shlibdeps(1) that calls it once for each package listed
       in the control file, passing it a list of ELF executables and shared libraries it has found. 

Let us try it with the advanced music player for semi-deaf and semi-blind audiphiles:
_https://github.com/strawberrymusicplayer/strawberry/releases/download/1.2.11/strawberry_1.2.11-bookworm_amd64.deb

➤ dpkg --info strawberry_1.2.11-bookworm_amd64.deb | grep Depends -B5
 Package: strawberry
 Version: 1.2.11-bookworm
 Architecture: amd64
 Maintainer: Jonas Kvinge <jonas@jkvinge.net>
 Installed-Size: 13929
 Depends: libasound2 (>= 1.0.16), libc6 (>= 2.34), libcdio19 (>= 2.1.0), libchromaprint1 (>= 1.3.2), libebur128-1 (>= 1.1.0), libfftw3-double3 (>= 3.3.10), libgcc-s1 (>= 3.0), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.51.0), libgpod4 (>= 0.7.0), libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.6.0), libicu72 (>= 72.1~rc-1~), libmtp9 (>= 1.1.0), libpulse0 (>= 0.99.1), libqt6concurrent6 (>= 6.1.2), libqt6core6 (>= 6.4.0), libqt6dbus6 (>= 6.4.0), libqt6gui6 (>= 6.3.0), libqt6network6 (>= 6.4.0), libqt6sql6 (>= 6.1.2), libqt6widgets6 (>= 6.3.0), libsqlite3-0 (>= 3.6.11), libstdc++6 (>= 11), libtag1v5 (>= 1.11), libx11-6, libqt6sql6-sqlite, qt6-qpa-plugins, gstreamer1.0-plugins-base, gstreamer1.0-plugins-good, gstreamer1.0-alsa, gstreamer1.0-pulseaudio 

What is obviously wrong is the dependency on "gstreamer1.0-alsa, gstreamer1.0-pulseaudio".

Although it is immoral to deceive the deaf, blind, and demented, Linux users are often fooled about pulseaudio dependencies. Therefore, you have to be paranoid and constantly verify the dependencies of Debian packages.

Open the fakeroot console:

➤ fakeroot

# mkdir debdir

# ls -1
debdir  
strawberry_1.2.11-bookworm_amd64.deb

# dpkg-deb -R *.deb debdir

# mkdir debian

# ls -1
debdir
debian
strawberry_1.2.11-bookworm_amd64.deb

# echo -e "Source: strawberry\nPackage: strawberry\nDepends: \${shlibs:Depends}" >> debian/control

# cat debian/control
Source: strawberry
Package: strawberry
Depends: ${shlibs:Depends} 

Run "dpkg-shlibdeps" to calculate the true dependencies

# dpkg-shlibdeps -v -xstrawberry --ignore-missing-info -e $(find debdir -type f 2>/dev/null) 

The result of calculations is written into debian/substvars

# cat debian/substvars
shlibs:Depends=libasound2 (>= 1.0.16), libc6 (>= 2.34), libcdio19 (>= 2.1.0), libchromaprint1 (>= 1.3.2), libebur128-1 (>= 1.1.0), libfftw3-double3 (>= 3.3.10), libgcc-s1 (>= 3.0), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.51.0), libgpod4 (>= 0.7.0), libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.6.0), libicu72 (>= 72.1~rc-1~), libmtp9 (>= 1.1.0), libpulse0 (>= 0.99.1), libqt6concurrent6 (>= 6.1.2), libqt6core6 (>= 6.4.0), libqt6dbus6 (>= 6.4.0), libqt6gui6 (>= 6.3.0), libqt6network6 (>= 6.4.0), libqt6sql6 (>= 6.1.2), libqt6widgets6 (>= 6.3.0), libsqlite3-0 (>= 3.6.11), libstdc++6 (>= 11), libtag1v5 (>= 1.11), libx11-6 

Now, with the help of a text editor, you can simply replace the false "Depends" with the  true "Depends".

nano debdir/DEBIAN/control 

It should look like this:

# cat debdir/DEBIAN/control | grep Depends
Depends: libasound2 (>= 1.0.16), libc6 (>= 2.34), libcdio19 (>= 2.1.0), libchromaprint1 (>= 1.3.2), libebur128-1 (>= 1.1.0), libfftw3-double3 (>= 3.3.10), libgcc-s1 (>= 3.0), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.51.0), libgpod4 (>= 0.7.0), libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.6.0), libicu72 (>= 72.1~rc-1~), libmtp9 (>= 1.1.0), libpulse0 (>= 0.99.1), libqt6concurrent6 (>= 6.1.2), libqt6core6 (>= 6.4.0), libqt6dbus6 (>= 6.4.0), libqt6gui6 (>= 6.3.0), libqt6network6 (>= 6.4.0), libqt6sql6 (>= 6.1.2), libqt6widgets6 (>= 6.3.0), libsqlite3-0 (>= 3.6.11), libstdc++6 (>= 11), libtag1v5 (>= 1.11), libx11-6 

When dependencies are corrected, you can build the package:

# dpkg-deb -b debdir strawberry_1.2.11-devuan_amd64-fixed.deb
dpkg-deb: building package 'strawberry' in 'strawberry_1.2.11-devuan_amd64-fixed.deb'.

Exit fakeroot console:

# exit
exit

Now, you can install Strawberry with true dependencies:

sudo dpkg -i strawberry_1.2.11-devuan_amd64-fixed.deb 

The question remains: what is the origin of pseudo-dependencies in Debian packages?
Obviously, they are man-made rather than naturally produced by invisible magic forces.

Debian packages can be build manually in an old-fashioned way (e.g., with dpkg-deb), without the help of the "debhelper". However, the Debian packaging system is also capable of producing pseudo-dependencies. You can simply add such dependencies into debian/control, for example:

Depends:
 ${shlibs:Depends},
 ${misc:Depends},
 pulseaudio

Then, build the package with "dpkg-buildpackage -us -uc -b". It will produce a Debian package which depends on pulseaudio.

#347 Re: Freedom Hacks » WhiteSur Dark GTK Theme for MATE Desktop » 2025-05-31 17:04:26

@stopAI

It should be "clearly noticeable", because, the fftrate plugin (if it is correctly configured) replaces ALSA resamplers with the magic fftrate real-time codec.
See also:
_https://dev1galaxy.org/viewtopic.php?id=6593

By the way, have you noticed a secret command "dh_auto_build --list",
and a trick with dpkg-shlibdeps
_https://dev1galaxy.org/viewtopic.php?id=7214

#348 Re: Freedom Hacks » WhiteSur Dark GTK Theme for MATE Desktop » 2025-05-31 14:59:56

@stopAI

I didn't expect that anyone would be interested in Debian packaging.

Have you tried to compile fftrate?
The updated manual is here:
_https://dev1galaxy.org/viewtopic.php?id=7142
The user manual is here:
_https://dev1galaxy.org/viewtopic.php?id=6644

It will improve sound quality of your pipewire.
You can test it with and without fftrate. The difference should be obvious.
Although, of course, it will be much better without pipewire and pulseaudio.
To disable fftrate, you can simply remove/rename ~/.asoundrc
And, by renaming, you can enable it again.

#349 Freedom Hacks » WhiteSur Dark GTK Theme for MATE Desktop » 2025-05-30 05:20:56

igorzwx
Replies: 5

WhiteSur GTK Theme: A macOS like theme for Linux GTK Desktops
_https://github.com/vinceliuice/WhiteSur-gtk-theme
_https://aur.archlinux.org/packages/whitesur-gtk-theme-git
_https://aur.archlinux.org/packages/whitesur-icon-theme-git
_https://aur.archlinux.org/packages/whitesur-cursor-theme-git

Build-Deps:

sudo apt install git fakeroot sassc libglib2.0-dev-bin libglib2.0-dev libxml2-utils imagemagick dialog optipng inkscape 
mkdir Build_Sur
cd Build_Sur 

Open fakeroot console:

fakeroot

Download sourcedir:

git clone https://github.com/vinceliuice/WhiteSur-gtk-theme.git --depth=1 

Install "debdir":

install -dm755 debdir/usr/share/themes
install -dm755 debdir/usr/share/docs/whitesur-gtk-theme
install -dm755 debdir/usr/share/icons 
# ls -1
debdir
WhiteSur-gtk-theme 
cd WhiteSur-gtk-theme 

Install WhiteSur Dark theme to debdir

./install.sh -d ../debdir/usr/share/themes -c Dark -t green -o solid 
# ls -1 ../debdir/usr/share/themes
WhiteSur-Dark-solid-green
WhiteSur-Dark-solid-green-hdpi
WhiteSur-Dark-solid-green-xhdpi

Install Firefox theme to debdir:

cp -r src/other/firefox ../debdir/usr/share/docs/whitesur-gtk-theme 
cd .. 
#ls -1
debdir
WhiteSur-gtk-theme

Download WhiteSur icon theme sourcedir:

git clone https://github.com/vinceliuice/WhiteSur-icon-theme.git --depth=1 
# ls -1
debdir
WhiteSur-gtk-theme
WhiteSur-icon-theme

Install icon theme to debdir:

./WhiteSur-icon-theme/install.sh -d "$(pwd)/debdir/usr/share/icons" -t green 
# ls -1
debdir
WhiteSur-gtk-theme
WhiteSur-icon-theme 

Download WhiteSur-cursors sourcedir:

git clone https://github.com/vinceliuice/WhiteSur-cursors.git --depth 1 
# ls -1
debdir
WhiteSur-cursors
WhiteSur-gtk-theme
WhiteSur-icon-theme 

Build WhiteSur-cursors

cd WhiteSur-cursors

./build.sh 

Install WhiteSur-cursors to debdir:

cp -pr dist ../debdir/usr/share/icons/WhiteSur-cursors 
# cd ..
# ls -1
debdir
WhiteSur-cursors
WhiteSur-gtk-theme
WhiteSur-icon-theme 

Configure WhiteSur Dark theme:

IconTheme=WhiteSur-green-dark
CursorTheme=WhiteSur-cursors 

It should look like this:

# cat debdir/usr/share/themes/WhiteSur-Dark-solid-green/index.theme
[Desktop Entry]
Type=X-GNOME-Metatheme
Name=WhiteSur-Dark-solid-green
Comment=A MacOS BigSur like Gtk+ theme based on Elegant Design
Encoding=UTF-8

[X-GNOME-Metatheme]
GtkTheme=WhiteSur-Dark-solid-green
MetacityTheme=WhiteSur-Dark-solid-green
IconTheme=WhiteSur-green-dark
CursorTheme=WhiteSur-cursors
ButtonLayout=close,minimize,maximize:menu 

The "Name=" of WhiteSur-cursors should also be fixed:

# cat debdir/usr/share/icons/WhiteSur-cursors/index.theme
[Icon Theme]
Name=WhiteSur-cursors 

Make a template for Debian package

install -vm0755 -d debdir/DEBIAN 

Create DEBIAN/control with a text editor:

nano debdir/DEBIAN/control 

For example:

# cat debdir/DEBIAN/control
Package: whitesur-gtk-theme
Version: 2025.05.29-1
Architecture: all
Maintainer: Devuan
Installed-Size: 52.2 kB
Depends: libxml2-utils, imagemagick, dialog, optipng
Section: x11
Priority: optional
Homepage: https://github.com/vinceliuice/WhiteSur-gtk-theme
Description: MacOS Big Sur like theme for MATE Desktop 

Generate md5sums

cd debdir
find . -type f -not -path "./DEBIAN/*" -exec md5sum {} + | sort -k 2 | sed 's/\.\/\(.*\)/\1/' > DEBIAN/md5sums
cd ..
chmod 0644 -- debdir/DEBIAN/md5sums 

Make a Debian package:

dpkg-deb -b debdir whitesur-gtk-theme_2025.05.29-1_all.deb 

Exit fakeroot

# exit
exit

Install WhiteSur-Dark theme

sudo dpkg -i whitesur-gtk-theme_2025.05.29-1_all.deb 

Enable WhiteSur-Dark theme

mate-appearance-properties
Theme ➔ WhiteSur-Dark-solid-green

Configure WhiteSur theme for "greeter" (display-manager)

➤ cat /etc/X11/default-display-manager
/usr/sbin/lightdm

➤ sudo lightdm-gtk-greeter-settings

[ArchWiki] LightDM
_https://wiki.archlinux.org/title/LightDM

Tweaks:

sudo apt install mate-tweak
mate-tweak

sudo apt install vivid
man vivid

cat ~/.bashrc | grep alias
cat ~/.bashrc | grep less
$ cat ~/.bashrc | grep LESS
export LESS='-R --use-color -Dd+g$Du+b$'

How to remove WhiteSur Dark theme:

sudo apt remove whitesur-gtk-theme

#350 Re: Off-topic » libadwaita forked by Mint » 2025-05-28 17:22:56

@greenjeans

If you are going to compile X-apps, you may try first to compile XED.
If it works, you may try to compile them all.

Board footer

Forum Software