The officially official Devuan Forum!

You are not logged in.

#101 Re: Other Issues » Script for acting like systemctl? » 2020-01-13 15:12:10

Yeah, it's for a specific niche almost entirely for me. But I share it freely for anyone else in my situation. I'm definitely not trying to empower systemd; I just want to be able to install freeipa without a million ad-hoc hacks. I'd rather build the hacks into a package and just install it.

I guess version 0.0.2 will include a dummy hostnamectl and systemd-detect-virt based on my current notes for joining a devuan system to a freeipa domain. I guess the virt-what wasn't good enough for the systemd people, so they subsumed that task for themselves.

#102 Re: Other Issues » Script for acting like systemctl? » 2020-01-13 14:53:39

My project is named systemdtl. it provides the /usr/sbin/systemctl script, and also logs the parameters to a logfile so I can learn what more commands it needs to react to.
It is installable from my OBS, and it will pull in dependency bgscripts-core which is in the same OBS repo. I reused my parameter-parsing functions from a library in bgscripts-core instead of using getopts or other.

And after writing my own version, I learn that debian/Devuan packages the systemctl from the docker-systemctl-replacement, However, it appears to actually read the systemd-related files (as in unit files) so it does not do what I want it to do, so I needed to write my version anyway.

#103 Re: Hardware & System Configuration » hanging on boot (openrc) on eth0 » 2020-01-11 13:36:58

Broadcom and GNU/Linux do not mix. And neither does Killer (and Atheros, which might be the same thing). Leave those brands behind in your quest for computing freedom and usability.

#104 Re: Other Issues » Script for acting like systemctl? » 2020-01-10 14:41:34

@Head_on_a_Stick, yes, basically, I'm going to write a script that does that. I will need to write functionality to handle a few options I see in the freeipa source, like "systemctl --now enable ntp" and so on.

@HevyDevy, well, I really do want to be systemd-free, and if I have to write an interface to let things think they're just calling the systemctl command, I can live with that. I think it's rather pretentious of a package to hard-code in systemctl commands, but seeing as how FreeIPA is built by the Fedora/RHEL people, I can see why they don't bother to look beyond it.

For the longest while, to support my FreeIPA installs, I've just been making an empty systemctl script:

#!/bin/sh
true

But I feel like I can do better.

#105 Re: Other Issues » Script for acting like systemctl? » 2020-01-10 01:11:47

Alas, Jesse Smith's fantastic script is not what I'm looking for. I don't need to convert systemd unit files to real init scripts. I want to provide a "systemctl" interface to real commands, so that I don't have to jury-rig a package to use the real commands. The freeipa bits should be able to call "systemctl stop httpd" and the systemctl replacement translates it to "service httpd stop" (or apache2, probably... hm. Save that for version 2).

#106 Other Issues » Script for acting like systemctl? » 2020-01-10 00:42:48

bgstack15
Replies: 14

I realize this is a bizarre topic. Bear with me.

Does anyone have, or know of any, script that is designed to take commands like systemctl, and run the real commands? For example, if I run "systemctl start httpd" it will translate it to and execute, "service httpd start."

I think writing such a script, if none exists already, would be easier than trying to patch freeipa to use hard-coded "service httpd start" commands and similar. I started down that route, but some commands include things such as --now and condrestart, which I might need to write a script for, even if it's more basic than a real conditional restart (for which I will have to RTFM to know the condition it depends on).

If nobody has any pointers, I will get started on such a script. I think I'll call it the undiscoverable term "systemdtl," for System Desire to Live. However, I would love to build on somebody else's work should such a thing exist and be suitably licensed.

#107 Re: Desktop and Multimedia » [SOLVED] xscreensaver works but prompt has no text » 2019-12-26 13:32:21

I have boiled it down, to just needing this set of packages:

apt-get install xfonts-100dpi xfonts-100dpi-transcoded freetype2-doc gsfonts libfreetype6 libfontembed1 fonts-noto-mono fonts-liberation fonts-droid-fallback

and a reboot.

#108 Desktop and Multimedia » mp3 tagging, and puddletag » 2019-12-20 19:34:17

bgstack15
Replies: 2

My preferred mp3 tag editor is Puddletag. Puddletag depends on pyqt4 which was recently removed in Debian. So...
I can run the pyqt5 port available from a source tree branch named pyqt5. However, it has some interesting limitations that I can't tell if are caused because of unported functionality or disabled because I didn't actually bundle it into a package.
Issues include:

  • Unable to save changes to mp3 files on the tag editor tool window (normally docked on the left). Changing the spreadsheet area contents does work.

  • Therefore, I unable to save album art

I am looking for recommendations for another mp3 tag editor, or an alternative way to run puddletag with some of this basic functionality enabled. If anyone knows of another spreadsheet-style mp3 tag editor, I would love to hear about it! Otherwise, I guess I'll learn to edit mp3 metadata one file at a time.

#109 Re: Other Issues » [SOLVED] Apt-get show one package per line? » 2019-12-20 12:24:45

Geoff 42 wrote:
bgstack15 wrote:

Apt list --upgradable shows me a different list than what apt-get upgrade -V does.

Is this partly due to the difference between apt-get upgrade and apt-get dist-upgrade? (or apt upgrade and apt full-upgrade)

No, I don't think the differences between those different upgrade commands matters. I think "apt list --upgradable" does not do the full dependency resolution to determine that no, oddjob-mkhomedir is not actually upgradable; it will be held back.

#110 Re: Other Issues » Thunderbird Download Link Broken » 2019-12-20 02:50:15

WARnux wrote:

Thank you!  Running apt update was the solution.

This is pretty much always the solution. The main distro repos like to keep only one version of an application, so if you don't have a very recent repo list, your client could be trying to download non-existent packages. I run into that a lot on Ceres, but it applies to all suites.

#111 Re: Other Issues » [SOLVED] Apt-get show one package per line? » 2019-12-20 02:48:50

Apt list --upgradable shows me a different list than what apt-get upgrade -V does. For example, it shows that oddjob-mkhomedir is upgradable, but apt-get upgrade omits oddjob-mkhomedir because of a systemd dependency (I made a dummy package for oddjob-mkhomedir-0.0.1 a while back for my own purposes). But yes, that output looks a little bit better. I realize apt repositories don't have names, so I guess I want to see the server the package comes from.

#112 Re: Other Issues » [SOLVED] Apt-get show one package per line? » 2019-12-18 21:38:28

Yes, it's actually incredibly useful that it shows the version numbers. My requirement however was merely one package per line.

My messing around with awk had produced really weird results, where the y/n prompt would occur, but the last ~50 lines of text including the prompt text would only appear after my response.

So now I am going to go read the man page to see if I can get it to show me, on those individual lines, what repo each package is coming from. I realize that's auxiliary to the main purpose of this thread, but it is a continuation of the thought that I totally haven't read the man page for apt-get.

#113 Re: Other Issues » [SOLVED] Apt-get show one package per line? » 2019-12-18 02:26:21

@Head_on_a_Stick solved it. That's good enough. Wow. Apparently I didn't read the right man pages or right sections of the man pages. This -V is such a game-changer.

edit: Showing the version numbers is even a nice bonus!

#114 Other Issues » [SOLVED] Apt-get show one package per line? » 2019-12-17 01:05:02

bgstack15
Replies: 17

In Fedora, dnf lists packages one per line, like this:

Installing:
 kernel                  x86_64 5.3.15-200.fc30     updates   21 k
 kernel-core             x86_64 5.3.15-200.fc30     updates   30 M
 kernel-modules          x86_64 5.3.15-200.fc30     updates   28 M
 kernel-modules-extra    x86_64 5.3.15-200.fc30     updates  1.9 M
Upgrading:
 ImageMagick             x86_64 1:6.9.10.75-1.fc30  updates  163 k
 ImageMagick-libs        x86_64 1:6.9.10.75-1.fc30  updates  2.3 M
 Thunar                  x86_64 1.8.11-1.fc30       updates  1.6 M

How can I get apt-get (or apt if I have to) to list packages one per line? I am disappointed by the "wall of text" that tends to make it difficult to read what will be upgraded.

The following packages have been kept back:
  cpp-8 cpp-9 elogind gcc-8-base gcc-8-base:i386 gcc-9-base gcc-9-base:i386 libatomic1 libatomic1:i386 libblkid1:i386 libc6 libc6:i386 libelogind0 libgcc1
  libgcc1:i386 libgfortran5 libgomp1 libgomp1:i386 liblouisutdml-bin liblouisutdml9 libmariadb3:i386 libmount1:i386 libpam-elogind libquadmath0 libreoffice
  libreoffice-base libreoffice-base-core libreoffice-base-drivers libreoffice-calc libreoffice-common libreoffice-core libreoffice-draw libreoffice-gtk2
  libreoffice-help-common libreoffice-help-en-us libreoffice-impress libreoffice-java-common libreoffice-math libreoffice-report-builder
  libreoffice-report-builder-bin libreoffice-script-provider-bsh libreoffice-script-provider-js libreoffice-script-provider-python libreoffice-sdbc-firebird
  libreoffice-sdbc-hsqldb libreoffice-sdbc-mysql libreoffice-sdbc-postgresql libreoffice-style-colibre libreoffice-style-tango libreoffice-writer libstdc++6
  libstdc++6:i386 libuuid1:i386 linux-image-amd64 oddjob-mkhomedir openssh-client openssh-server openssh-sftp-server procps python3-gst-1.0 python3-louis
  python3-uno task-desktop task-english task-laptop task-ssh-server tasksel tasksel-data usb-modeswitch util-linux-locales xfce4
The following packages will be upgraded:
  avahi-autoipd avahi-daemon binutils binutils-common binutils-x86-64-linux-gnu cups-browsed cups-filters cups-filters-core-drivers curl debianutils
  espeak-ng-data firebird3.0-common firebird3.0-common-doc firebird3.0-server-core firebird3.0-utils firefox-esr fonts-opensymbol
  gir1.2-gst-plugins-base-1.0 gir1.2-gstreamer-1.0 gir1.2-rsvg-2.0 git git-man gnome-desktop3-data gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-libav
  gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-base:i386 gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly
  gstreamer1.0-pulseaudio gstreamer1.0-x iptables irqbalance iw keepassxc libatk-adaptor libatk-bridge2.0-0 libatk-bridge2.0-0:i386 libatlas3-base
  libavahi-client3 libavahi-client3:i386 libavahi-common-data libavahi-common-data:i386 libavahi-common3 libavahi-common3:i386 libavahi-core7 libavahi-glib1
  libavahi-gobject0 libbinutils libboost-atomic1.67.0 libboost-chrono1.67.0 libboost-date-time1.67.0 libboost-filesystem1.67.0 libboost-iostreams1.67.0
  libboost-locale1.67.0 libboost-system1.67.0 libboost-thread1.67.0 libbrlapi0.7 libburn4 libc-bin libc-l10n libcupsfilters1 libcurl3-gnutls libcurl3-nss
  libcurl4 libdbus-glib-1-2 libde265-0 libegl-mesa0 libegl1-mesa libespeak-ng1 libfbclient2 libfontembed1 libgbm1 libgif7 libgif7:i386 libgl1-mesa-dri
  libgl1-mesa-dri:i386 libgl1-mesa-glx libglapi-mesa libglapi-mesa:i386 libgles2-mesa libglib-object-introspection-perl libglib2.0-0 libglib2.0-0:i386
  libglib2.0-bin libglib2.0-data libglx-mesa0 libglx-mesa0:i386 libgnome-desktop-3-18 libgnutls-dane0 libgnutls30 libgnutls30:i386 libgstreamer-gl1.0-0
  libgstreamer-plugins-bad1.0-0 libgstreamer-plugins-base1.0-0 libgstreamer-plugins-base1.0-0:i386 libgstreamer1.0-0 libgstreamer1.0-0:i386
  libhttp-cookies-perl libib-util libip4tc2 libip6tc2 libiptc0 libisofs6 libjs-sphinxdoc libjte2 liblightdm-gobject-1-0 liblouis-data liblouisutdml-data
  libmatroska6v5 libmysofa0 libnftables1 libnftnl11 libnss3 libnss3-tools liborcus-0.15-0 libosmesa6 libosmesa6:i386 libpcaudio0 libpci3 libpci3:i386

I've tried reading the apt-doc contents, and various apt and dpkg man pages. I'm not specifically interested in the cool --status-fd=2 option; I want to be able to see the list of packages that will be installed/upgraded/removed one on each line, before I say Yes.

Of course I can run it once with a yes no | apt-get upgrade and pipe to awk. But is there a built-in parameter or a plugin I can use to get more readable output?

#115 Re: Hardware & System Configuration » Eudev broke down after upgrade. » 2019-12-07 20:29:45

I see 3.2.2-13 available under http://pkgmaster.devuan.org/devuan/pool/main/e/eudev/. Is that what you're looking for? Of course, make sure you grab a package that fits which suite you're using if applicable.

#116 Re: Installation » Xfe + isomount question » 2019-12-04 03:35:55

I suspect that Xfe is recognizing that the /home/groucho/Desktop/Example1 is a separate mount point. That is why it is giving you options (that don't work, because you're not running xfe as root) for mount and umount.

Can you write a custom xfe function to fusermount -u the selected directory?

#117 Re: Desktop and Multimedia » lightdm wicd error » 2019-11-30 01:14:12

I had a very similar issue and I solved it after a few months.

The full write-up is on my blog but here is the summary. It should be fairly clear when to substitute ldap in nsswitch.conf.

Use pam_group.

tf=/usr/share/pam-configs/my_groups
sudo touch "${tf}" ; sudo chmod 0644 "${tf}" ; sudo chown root.root "${tf}"
cat <<EOF | sudo tee "${tf}" 1>/dev/null
Name: activate /etc/security/group.conf
Default: yes
Priority: 900
Auth-Type: Primary
Auth:
        required                        pam_group.so use_first_pass
EOF

Update pam and choose the new option we just made, "Activate /etc/security/group.conf."

pam-auth-update

Configure nsswitch.conf (only with glibc >= 2.24)

sed -i -r -e '/^\s*group:/s/(compat|files) sss/\1 [SUCCESS=merge] sss/;' /etc/nsswitch.conf

Make local gids match the domain gids, for any of the groups you want to merge.

test -z "${LOGFILE}" && LOGFILE=/root/deploy.log
for word in netdev video audio dip ;
do
   {
      tgid="$( getent group -s  sss  "${word}" | awk -F':' '{print $3}' )"
      ogid="$( getent group -s files "${word}" | awk -F':' '{print $3}' )"
   } 2>/dev/null
   # if group exists locally and in domain
   test -n "${ogid}" && test -n "${tgid}" && test ${ogid} -ne ${tgid} && {
      # use sed because groupmod fails because the new GID already exists
      sed -i -r -e "/^${word}:/s/:${ogid}:/:${tgid}:/;" /etc/group
      # log to stdout and logfile
      printf '%s %s\n' "$( date -u "+%FT%TZ" )" "Change ${word} from gid ${ogid} to ${tgid}" | tee -a "${LOGFILE}"
   }
done

References:
My blog post: Deuvan FreeIPA domain users control local devices
[SOLVED] Grant domain user access like he is in netdev group

#118 Re: Installation » Hash Sun mismatch » 2019-11-28 14:56:54

My usual fixes involve double-checking the sources.list to make sure it points to:

deb http://packages.devuan.org/merged ceres main contrib non-free
deb-src http://packages.devuan.org/merged ceres main contrib non-free

And clearing out /var/lib/apt/lists/*:

rm /var/lib/apt/lists/*

#119 Re: DIY » wxGTK2 versus wxGTK3 » 2019-11-28 01:37:15

My build environment was using gcc-9, which does support the -std=c++2a. I build packages of FreeFileSync for other distros as well, and I know how to patch the program to compile it for -std=c++17 for gcc-8 or lower.

About the error in my OP, I used to get that exact error when building by hand on my dev box when I had gtk3 and gtk2 installed on Fedora; that's why I know this exact error about the "error: conflicting declaration ‘typedef struct _GdkDrawable GdkWindow’".

#120 Re: DIY » No dbus and compiling FF » 2019-11-28 01:33:29

I saw the KISS developer's announcement about patching Firefox to build without a dbus dependency. I think that's pretty cool. I do use stock Firefox on Devuan and Fedora, but I do compile Palemoon and Waterfox myself. I actually use the OBS that is referenced above, because then I don't have to do all the heavy lifting at home.

#121 Re: Desktop and Multimedia » (building handbrake) error with pkg-config » 2019-11-22 20:21:22

Ah, the way package version tends to work is the application upstream chooses a version string. In this case, the upstream version number is "0.29" without quotes. The package has its own versioning, which is "4+b1" which means it is the fourth attempt to package this application version, with the additional value "+b1" which could mean anything you want it to mean. I see lots of "+devuan2.1" and similar at the end of the package version.
So, you put the application version and package version together with a dash, to get "0.29-4+b1" which unfortunately is lower than the application version "0.29.1".
The Handbrake upstream must follow the upstream pkg-config more aggressively than Devuan (probably Debian) does. Perhaps they base their dpkg on Ubuntu which uses a higher version of pkg-config, or something, at this very moment.
Turns out pkg-config is a freedesktop.org thing. (That explains a few things...) The current version as of this post is 0.29.2

#122 DIY » wxGTK2 versus wxGTK3 » 2019-11-21 13:59:37

bgstack15
Replies: 2

With https://salsa.debian.org/freewx-team/wx now producing files for GTK3 only, I am unable to resolve

nothing provides wx3.0-headers = 3.0.4+dfsg-14 needed by libwxgtk3.0-dev
nothing provides libwxbase3.0-dev = 3.0.4+dfsg-14 needed by libwxgtk3.0-dev

The package libwxgtk3.0-dev is no longer produced, because it is now only producing libwxgtk3.0-gtk3-dev. When I install libwxgtk3.0-gtk3-dev and try to compile my dpkg (FreeFileSync) I get this classic error:

make -C FreeFileSync/Source/
make: Entering directory '/usr/src/freefilesync/10.18-1/FreeFileSync/Source'
mkdir -p /tmp/FreeFileSync_Make/ffs/src/base/
g++ -std=c++2a -pipe -DWXINTL_NO_GETTEXT_MACRO -I../.. -I../../zenXml -include "zen/i18n.h" -include "zen/warn_static.h" -Wall -Wfatal-errors -Wmissing-include-dirs -Wswitch-enum -Wcast-align -Wshadow -Wnon-virtual-dtor -O3 -DNDEBUG `wx-config --cxxflags --debug=no` -pthread `pkg-config --cflags openssl` `pkg-config --cflags libcurl` `pkg-config --cflags libssh2` `pkg-config --cflags gtk+-2.0` -isystem/usr/include/gtk-2.0 `pkg-config --cflags libselinux` -DHAVE_SELINUX -c base/algorithm.cpp -o /tmp/FreeFileSync_Make/ffs/src/base/algorithm.cpp.o
In file included from /usr/include/gtk-2.0/gdk/gdkscreen.h:32,
                 from /usr/include/gtk-2.0/gdk/gdkapplaunchcontext.h:31,
                 from /usr/include/gtk-2.0/gdk/gdk.h:32,
                 from /usr/include/gtk-2.0/gtk/gtk.h:32,
                 from ../../wx+/dc.h:15,
                 from base/../ui/file_grid_attr.h:12,
                 from base/config.h:13,
                 from base/algorithm.h:11,
                 from base/algorithm.cpp:7:
/usr/include/gtk-2.0/gdk/gdktypes.h:114:39: error: conflicting declaration ‘typedef struct _GdkDrawable GdkWindow’
  114 | typedef struct _GdkDrawable           GdkWindow;
      |                                       ^~~~~~~~~
compilation terminated due to -Wfatal-errors.
make: *** [Makefile:117: /tmp/FreeFileSync_Make/ffs/src/base/algorithm.cpp.o] Error 1
make: Leaving directory '/usr/src/freefilesync/10.18-1/FreeFileSync/Source'

This is a conflict when both gtk2 dev and gtk3 dev packages exist. I am only referencing gtk+-2.0 linking directories, so how is it getting the gtk3 parts? Or how can I get a current gtk2 package on my Devuan box?

I am also investigating compiling the application with gtk3 but that is considered experimental by the app upstream team.

#123 Re: Devuan » Does anyone else use FreeIPA? » 2019-11-14 03:58:19

Yes, I have written about FreeIPA on Devuan multiple times on my blog: https://bgstack15.wordpress.com/tag/freeipa/?s=devuan
Basically, you have to run Devuan ceres, make and install a dummy oddjob-mkhomedir package, write some dummy scripts for /usr/bin/systemctl and /usr/bin/hostnamectl, mkdir -p /etc/ipa /var/lib/ipa-client/pki and you can install freeipa-client.

Apparently my blog posts don't cover the python-ipalib hack. The package name has migrated to python3-ipalib but basically this is the exact same process.

# Getting python-ipalib on devuan
Devuan bans python-ipalib because it depends on systemd. You can get around this by changing the deb Requires: statements.

Download the released dpkg from http://ftp.us.debian.org/debian/pool/main/f/freeipa/python-ipalib_4.7.1-3_all.deb

    cd ~/Downloads
    wget http://ftp.us.debian.org/debian/pool/main/f/freeipa/python-ipalib_4.7.1-3_all.deb
    mkdir temp
    dpkg-deb -R python-ipalib_4.7.1-3_all.deb temp
    # manually fix DEBIAN/control file as needed. I used

#Depends: freeipa-common (= 4.7.1-3), gnupg2, gnupg-agent, keyutils, python-cffi, python-cryptography (>= 1.6), python-dbus, python-dnspython, python-gssapi, python-jwcrypto, python-ldap, python-libipa-hbac, python-lxml, python-netaddr, python-netifaces (>= 0.10.4), python-nss (>= 0.16.0), python-pyasn1, python-qrcode (>= 5.0.0), python-requests, python-setuptools, python-six, python-usb (>= 1.0.0~b2), python-yubico, python-pyasn1-modules, python:any (<< 2.8), python:any (>= 2.7~)
Depends: python-netaddr, python-netifaces (>= 0.10.4), python-dbus

   # I also customized the release number.
   # and reassemble
   dpkg-deb -b temp python-ipalib_4.7.1-3+stackrpms_all.deb

# References
1. https://unix.stackexchange.com/questions/138188/easily-unpack-deb-edit-postinst-and-repack-deb
2. http://ftp.us.debian.org/debian/pool/main/f/freeipa/

#124 Devuan » Does anyone else use FreeIPA? » 2019-11-13 12:58:00

bgstack15
Replies: 2

I use Devuan Ceres because it has most of the FreeIPA packages, and only a few are banned: python3-ipalib, python-ipalib, and freeipa-server, and dependency oddjob (for oddjob-mkhomedir). By making a few changes to the packages from Debian, I can get them installed and working! All the regular ipa client functions work: host ssh keys in the directory, sudoers from ldap, kerberos authentication, ntp.

I came from a Fedora and CentOS world where of course they work natively with FreeIPA. I migrated my home network to FreeIPA from Active Directory back in 2017 and never looked back. When I started my transition to Devuan I couldn't just leave freeipa behind. I guess using Ceres (unstable) lets me get all the most recent updates, but if given the choice I probably would hold back from the bleeding edge.

One thing I must say, I really like how Devuan (Debian) has lots of versions of gcc available in each suite. gcc-6, gcc-7, gcc-8, and gcc-9! I had to bend over backwards to use any other gcc than the one each Fedora and CentOS release used.

#125 Re: Installation » Need help with "quiet" boot on ascii-686 pae » 2019-11-10 19:58:50

I don't think Devuan includes plymouth, but at one point I compiled it for Devuan: https://build.opensuse.org/package/show … 5/plymouth has a link in the upper right for "Download" which takes you to a nice little page that shows how to update your sources.list and get the package. Maybe that will work for you. I don't know that much about plymouth, and it recently has malfunctioned for me but I hope it was just a local implementation problem.

Board footer

Forum Software