X-Git-Url: https://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/8b1442e65cfc9e56cb3c5afa0cd42c013217a821..b6d94dee99ff7c30583e568e1bbc1d574d822fad:/blog/archive/2023/01/index.html diff --git a/blog/archive/2023/01/index.html b/blog/archive/2023/01/index.html index a8cc35432f..2ffe01ad2d 100644 --- a/blog/archive/2023/01/index.html +++ b/blog/archive/2023/01/index.html @@ -21,6 +21,149 @@

Entries from January 2023.

+
+
+ Is the desktop recommending your program for opening its files? +
+
+ 29th January 2023 +
+
+

Linux desktop systems +have +standardized how programs present themselves to the desktop +system. If a package include a .desktop file in +/usr/share/applications/, Gnome, KDE, LXDE, Xfce and the other desktop +environments will pick up the file and use its content to generate the +menu of available programs in the system. A lesser known fact is that +a package can also explain to the desktop system how to recognize the +files created by the program in question, and use it to open these +files on request, for example via a GUI file browser.

+ +

A while back I ran into a package that did not tell the desktop +system how to recognize its files and was not used to open its files +in the file browser and fixed it. In the process I wrote a simple +debian/tests/ script to ensure the setup keep working. It might be +useful for other packages too, to ensure any future version of the +package keep handling its own files.

+ +

For this to work the file format need a useful MIME type that can +be used to identify the format. If the file format do not yet have a +MIME type, it should define one and preferably also +register +it with IANA to ensure the MIME type string is reserved.

+ +

The script uses the xdg-mime program from xdg-utils to +query the database of standardized package information and ensure it +return sensible values. It also need the location of an example file +for xdg-mime to guess the format of.

+ +
+#!/bin/sh
+#
+# Author: Petter Reinholdtsen
+# License: GPL v2 or later at your choice.
+#
+# Validate the MIME setup, making sure motor types have
+# application/vnd.openmotor+yaml associated with them and is connected
+# to the openmotor desktop file.
+
+retval=0
+
+mimetype="application/vnd.openmotor+yaml"
+testfile="test/data/real/o3100/motor.ric"
+mydesktopfile="openmotor.desktop"
+
+filemime="$(xdg-mime query filetype "$testfile")"
+
+if [ "$mimetype" != "$filemime" ] ; then
+    retval=1
+    echo "error: xdg-mime claim motor file MIME type is $filemine, not $mimetype"
+else
+    echo "success: xdg-mime report correct mime type $mimetype for motor file"
+fi
+
+desktop=$(xdg-mime query default "$mimetype")
+
+if [ "$mydesktopfile" != "$desktop" ]; then
+    retval=1
+    echo "error: xdg-mime claim motor file should be handled by $desktop, not $mydesktopfile"
+else
+    echo "success: xdg-mime agree motor file should be handled by $mydesktopfile"
+fi
+
+exit $retval
+
+ +

It is a simple way to ensure your users are not very surprised when +they try to open one of your file formats in their file browser.

+ +

As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.

+ +
+
+ + + Tags: debian, english. + + +
+
+
+ +
+
+ Opensnitch, the application level interactive firewall, heading into the Debian archive +
+
+ 22nd January 2023 +
+
+

While reading a +blog +post claiming MacOS X recently started scanning local files and +reporting information about them to Apple, even on a machine where +all such callback features had been disabled, I came across a +description of the Little Snitch application for MacOS X. It seemed +like a very nice tool to have in the tool box, and I decided to see if +something similar was available for Linux.

+ +

It did not take long to find +the OpenSnitch +package, which has been in development since 2017, and now is in +version 1.5.0. It has had a +request for Debian +packaging since 2018, but no-one completed the job so far. Just +for fun, I decided to see if I could help, and I was very happy to +discover that +upstream +want a Debian package too.

+ +

After struggling a bit with getting the program to run, figuring +out building Go programs (and a little failed detour to look at eBPF +builds too - help needed), I am very happy to report that I am +sponsoring upstream to maintain the package in Debian, and it has +since this morning been waiting in NEW for the ftpmasters to have a +look. Perhaps it can get into the archive in time for the Bookworm +release?

+ +

As usual, if you use Bitcoin and want to show your support of my +activities, please send Bitcoin donations to my address +15oWEoG9dUPovwmUL9KWAnYRtNJEkP1u1b.

+ +
+
+ + + Tags: debian, english, opensnitch. + + +
+
+
+
LinuxCNC MQTT publisher component @@ -91,10 +234,47 @@ activities, please send Bitcoin donations to my address

Archive