FLOSS Project Planets
Guido Günther: Free Software Activities July 2024
A short status update on what happened on my side last month. Looking at unified push support for Chatty prompted some libcmatrix fixes and Chatty improvements (benefiting other protocols like SMS/MMS as well).
The Bluetooth status page in Phosh was a slightly larger change code wise as we also enhanced our common widgets for building status pages, simplifying the Wi-Fi status page and making future status pages simpler. But as usual investigating bugs, reviewing patches (thanks!) and keeping up with the changing world around us is what ate most of the time.
PhoshA Wayland Shell for mobile devices
- Update to latest gvc (MR)
- Mark more strings as translatable (MR)
- Improve Bluetooth support by adding a StatusPage (MR)
- Improve vertical space usage for status pages (MR)
- Fix build with newer GObject introspection, we can now finally enable --fatal-warnings (MR)
- Fix empty system modal dialog on keyring lookups: (MR)
- Send logind locked hint: (MR)
- Small cleanups (MR, MR)
A Wayland compositor for mobile devices
libphosh-rsPhosh Rust bindings
phosh-osk-stubA on screen keyboard for Phosh
- Allow for up to five key rows and add more keyboard layouts: (MR)
Wallpapers, Sounds and other artwork
- Add Phone hangup event: (MR)
Suite to help with Debian packages in Git repositories
- Fix tests with Python 3.12 and upload 0.9.34
Tool to find processes mapping shared objects
- Fix build with python 3.12 and release 0.0.14
The universal operating system
- Upload whatmaps 0.0.14
- Package libssc (MR) for upcoming sensor support on some Qualcomm based phones
- Fix iio-sensor-proxy RC bug and cleanup a bit: (MR)
- Update wlroots to 0.17.4 (MR)
- Update calls to 46.3 (MR)
- Prepare 0.18.0 (MR
- meta-phosh: Switch default font and recommend iio-sensor-proxy: (MR)
A Debian derivative for mobile devices
CallsPSTN and SIP calls for GNOME
- Emit phone-hangup event when a call ended (MR). Together with the sound theme changes this gives a audible sound when the other side hung up.
- Debug and document Freeswitch sofia-sip failure (it's TLS validation).
Minimalistic video player targeting mobile devices
- Export stream position and duration via MPRIS (MR)
- Slightly improve duration display (MR)
- Improve docs a bit: (MR)
Common user interface parts for call handling in GNOME and Phosh.
feedbackdDBus service for haptic/visual/audio feedback
- Fix test failures on recent Fedora due to more strict json-glib: (MR)
Messaging application for mobile and desktop
- Continue work on push notifications: (MR)
- Allow to delete push server
- Hook into DBus connector class
- Parse push notifications
- Avoid duplicate lib build and fix warnings (MR)
- Let F10 enable the primary menu: (MR)
- Focus search when activating it (MR)
- Fix search keybinding: (MR)
- Fix keybinding to open help overlay (MR)
- Don't hit assertions in libsoup by iterating the wrong context: (MR)
- Matrix: Fix unread count getting out of sync: (MR)
- Allow to disable purple via build profile (MR)
- Fix critical during key verification (MR)
- ChatInfo: Use AdwDialog and show Matrix room topic (MR)
- Fix crash on account creation: (MR)
A matrix client client library
- Fix gir annotations, make gir and doc warnings fatal: (MR)
- Cleanup README: (MR)
- Some more minor cleanups and docs: (MR, (MR, (MR)
- Generate enum types to make them usable by library consumers (MR)
- Don't blindly iterate the default context (MR)
- Allow to fetch a single event (useful for handling push notifications) (MR)
- Make CmCallback behave like other callbacks (MR)
- Allow to add/remove/fetch pushers sync (MR)
- Add sync variant for fetching past events (MR)
- Make a self contained library, test that in CI and make all public classes show up in the docs (MR)
- Track unread count (MR)
- Release libcmatrix 0.0.1
- Add support for querying room topics (MR)
- Allow to disable running the tests so superprojects have some choice (MR)
- Fix crashes, use after free, … (MR, MR, MR)
A libcmatrix test client
- New project to ease testing libcmatrix changes: https://github.com/agx/eigenvalue
- Add support for /room-details: (MR)
- Add support for /room-load-past-events: (MR)
If you want to support my work see donations. This includes list of hardware we want to improve support for.
mark.ie: How to use the LocalGov Drupal KeyNav Module
Here's a short video outlining the features of the LocalGov Drupal KeyNav module.
Sitback Solutions: Good Design for Housing – NSW Gov digital map case study
Dirk Eddelbuettel: RQuantLib 0.4.24 on CRAN: Robustification
A new minor release 0.4.24 of RQuantLib arrived on CRAN this afternoon (just before the CRAN summer break starting tomorrow), and has been uploaded to Debian too.
QuantLib is a rather comprehensice free/open-source library for quantitative finance. RQuantLib connects (some parts of) it to the R environment and language, and has been part of CRAN for more than twenty-one years (!!) as it was one of the first packages I uploaded.
This release of RQuantLib follows the recent release from last week which updated to QuantLib version 1.35 released that week, and solidifies conditional code for older QuantLib versions in one source file. We also updated and extended the configure source file, and increased the mininum version of QuantLib to 1.25.
Changes in RQuantLib version 0.4.24 (2024-07-31)Updated detection of QuantLib libraries in configure
The minimum version has been increased to QuantLib 1.25, and DESCRIPTION has been updated to state it too
The dividend case for vanilla options still accommodates deprecated older QuantLib versions if needed (up to QuantLib 1.25)
The configure script now uses PKG_CXXFLAGS and PKG_LIBS internally, and shows the values it sets
Courtesy of my CRANberries, there is also a diffstat report for the this release. As always, more detailed information is on the RQuantLib page. Questions, comments etc should go to the rquantlib-devel mailing list. Issue tickets can be filed at the GitHub repo.
If you like this or other open-source work I do, you can now sponsor me at GitHub.
This post by Dirk Eddelbuettel originated on his Thinking inside the box blog. Please report excessive re-aggregation in third-party for-profit settings.
Junichi Uekawa: I've tried Android Element app for matrix first time during Debconf.
Junichi Uekawa: Joining Debconf, it's been 16 years.
Balint Pekker: Drupal 11 is at the doorstep
Jonathan McDowell: Using QEmu for UEFI/TPM testing
This is one of those posts that’s more for my own reference than likely to be helpful for others. If you’re unlucky it’ll have some useful tips for you. If I’m lucky then I’ll get a bunch of folk pointing out some optimisations.
First, what I’m trying to achieve. I want a virtual machine environment where I can manually do tests on random kernels, and also various TPM related experiments. So I don’t want something as fixed as a libvirt setup. I’d like the following:
- It to be fairly lightweight, so I can run it on a laptop while usefully doing other things
- I need a TPM 2.0 device to appear to the guest OS, but it doesn’t need to be a real TPM
- Block device discard should work, so I can back it with a qcow2 image and use fstrim to keep the actual on disk size small, without constraining my potential for file system expansion should I need it
- I’ve no need for graphics, in fact a serial console would be better as it eases copy & paste, especially when I screw up kernel changes
That turns out to be possible, but it took a bunch of trial and error to get there. So I’m writing it down. I generally do this on a Fedora based host system (FC40 at present, but this all worked with FC38 + FC39 too), and I run Debian 12 (bookworm) as the guest. At present I’m using qemu 8.2.2 and swtpm 0.9.0, both from the FC40 packages.
One other issue I spent too long tracking down is that the version of grub 2.06 in bookworm does not manage to pass the TPMEventLog through to the guest kernel properly. The events get measured and the PCRs updated just fine, but /sys/kernel/security/tpm0/binary_bios_measurements doesn’t even get created. Using either grub 2.06 from FC40, or the 2.12 backport in bookworm-backports, makes this work just fine.
Anyway, for reference, the following is the script I use to start the swtpm, and then qemu. The debugcon line can be dropped if you’re not interested in OVMF debug logging. This needs the guest OS to be configured up for a serial console, but avoids the overhead of graphics emulation.
As I said at the start, I’m open to any hints about other options I should be passing; as long as I get acceptable performance in the guest I care more about reducing host load than optimising for the guest.
#!/bin/sh BASEDIR=/home/noodles/debian-qemu if [ ! -S ${BASEDIR}/swtpm/swtpm-sock ]; then echo Starting swtpm: swtpm socket --tpmstate dir=${BASEDIR}/swtpm \ --tpm2 \ --ctrl type=unixio,path=${BASEDIR}/swtpm/swtpm-sock & fi echo Starting QEMU: qemu-system-x86_64 -enable-kvm -m 2048 \ -machine type=q35 \ -smbios type=1,serial=N00DL35,uuid=fd225315-f72a-4d66-9b16-55363c6c938b \ -drive if=pflash,format=qcow2,readonly=on,file=/usr/share/edk2/ovmf/OVMF_CODE_4M.qcow2 \ -drive if=pflash,format=raw,file=${BASEDIR}/OVMF_VARS.fd \ -global isa-debugcon.iobase=0x402 -debugcon file:${BASEDIR}/debian.ovmf.log \ -device virtio-blk-pci,drive=drive0,id=virblk0 \ -drive file=${BASEDIR}/debian-12-efi.qcow2,if=none,id=drive0,discard=on \ -net nic,model=virtio -net user \ -chardev socket,id=chrtpm,path=${BASEDIR}/swtpm/swtpm-sock \ -tpmdev emulator,id=tpm0,chardev=chrtpm \ -device tpm-tis,tpmdev=tpm0 \ -display none \ -nographic \ -boot menu=on