GNU Shepherd 0.10.3 released

2024-01-07 Thread Ludovic Courtès
We are pleased to announce the GNU Shepherd version 0.10.3, a bug-fix
release of the new 0.10.x series, representing 51 commits over 6 months.

The 0.10.x series is a major overhaul towards 1.0, addressing shortcomings
and providing new features that help comprehend system state.


• About

  The GNU Shepherd is a service manager written in Guile that looks
  after the herd of daemons running on the system.  It can be used as an
  “init” system (PID 1) and also by unprivileged users to manage
  per-user daemons—e.g., tor, privoxy, mcron.  It supports several
  daemon startup mechanisms, including inetd and systemd-style socket
  activation.  The GNU Shepherd is configured in Guile Scheme and can be
  extended in the same language.  It builds on a simple memory-safe and
  callback-free programming model.

  The GNU Shepherd is developed jointly with the GNU Guix project; it is
  used as the init system of Guix, GNU’s advanced GNU/Linux distribution.

  https://www.gnu.org/software/shepherd/


• Download

  Here are the compressed sources and a GPG detached signature:
https://ftp.gnu.org/gnu/shepherd/shepherd-0.10.3.tar.gz
https://ftp.gnu.org/gnu/shepherd/shepherd-0.10.3.tar.gz.sig

  Use a mirror for higher download bandwidth:
https://ftpmirror.gnu.org/shepherd/shepherd-0.10.3.tar.gz
https://ftpmirror.gnu.org/shepherd/shepherd-0.10.3.tar.gz.sig

  Here are the SHA1 and SHA256 checksums:

  aac0f3f11245fca5b13119dc8e25d366fc53df23  shepherd-0.10.3.tar.gz
  jsb+vrAwu1LoTGI/ECnKccLCElFRVhxZFF2qbjuFr+8  shepherd-0.10.3.tar.gz

  The SHA256 checksum is base64 encoded, instead of the
  hexadecimal encoding that most checksum tools default to.

  Use a .sig file to verify that the corresponding file (without the
  .sig suffix) is intact.  First, be sure to download both the .sig file
  and the corresponding tarball.  Then, run a command like this:

gpg --verify shepherd-0.10.3.tar.gz.sig

  The signature should match the fingerprint of the following key:

pub   rsa4096 2014-08-11 [SC]
  3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
uid   [ unknown] Ludovic Courtès 
uid   [ unknown] Ludovic Courtès 
uid   [ unknown] Ludovic Courtès (Inria) 

  If that command fails because you don't have the required public key,
  or that public key has expired, try the following commands to retrieve
  or refresh it, and then rerun the 'gpg --verify' command.

gpg --recv-keys 3CE464558A84FDC69DB40CFB090B11993D9AEBB5

  As a last resort to find the key, you can try the official GNU
  keyring:

wget -q https://ftp.gnu.org/gnu/gnu-keyring.gpg
gpg --keyring gnu-keyring.gpg --verify shepherd-0.10.3.tar.gz.sig


  This release was bootstrapped with the following tools:
Autoconf 2.71
Automake 1.16.5
Makeinfo 7.0.3
Help2man 1.49.2


• Changes since version 0.10.2 (excerpt from the NEWS file)

  ** Fix a bug that could lead shepherd to hang after loading replacements
 ()

  After loading replacements with ‘herd load’ or ‘guix system reconfigure’,
  shepherd could eventually hang.  Specifically, the replaced service would no
  longer respond to messages, so it would be impossible to start it, to stop it,
  or to unload it.  This is now fixed.

  ** Fix ownership and permissions on Unix-domain sockets
 ()

  When using an AF_UNIX endpoint with systemd- and inetd-style services, the
  socket file itself would remain owned by root (when shepherd is running as
  root) with permissions 755.  This is now fixed, with ownership set according
  to #:socket-owner and #:socket-group of the endpoint, and permissions on the
  socket set to 666.

  Likewise, #:socket-directory-permissions was previously ignored when the
  socket’s directory already existed prior to creating the endpoint, potentially
  leading to unexpectedly wide access to the socket.  This is now fixed.

  ** New #:respawn-delay parameter to ‘service’
 ()

  This specifies a delay before a service is respawned.  Its default value is
  given by ‘default-respawn-delay’ and defaults to 100ms.  Until now, services
  were respawned immediately.

  ** Non-blocking ‘sleep’ replacement provided

  Until now, user code could call (@ (guile) sleep), the core Guile binding for
  ‘sleep’, instead of ‘sleep’ as provided by (fibers).  The former would have
  caused ‘shepherd’ to actually sleep for that time, instead of performing other
  on-going tasks.  ‘sleep’ is now replaced by (@ (fibers) sleep) to avoid that.

  ** Ensure termination of services that failed to produce a PID file

  When a service started with the #:pid-file argument of
  ‘make-forkexec-constructor’ or similar would fail to produce its PID file, the
  process that was spawned would be sent SIGTERM.  Now, it is additionally sent
  SIGKILL after ‘default-process-termination-grace-period’ has expired, as is
  the case w

GNU Linux-libre 6.7-gnu

2024-01-07 Thread Freedo
Hello, everyone,

This is Freedo, the spokespenguin for the GNU Linux-libre project.

I'm here to let you know that GNU Linux-libre 6.7-gnu is ready!

git://linux-libre.fsfla.org/releases.git/
tags {scripts,sources,logs}/v6.7-gnu

Scripts to clean up for the 6.7-gnu series were first published for rc7,
and they haven't changed since then.

This may have happened just a couple of weeks ago,
but it feels so last year!

*groan* sorry not sorry.  And Happy GNU Year!


- https://www.fsfla.org/selibre/linux-libre/download/releases/6.7-gnu/

-- compressed tarballs

-- incremental patches


Binaries are already baking.
Can you smell the freedom from where you are?
Mmm, trust me, it's delicious!

- Freesh (.deb) binaries
  https://www.fsfla.org/selibre/linux-libre/download/freesh/


- RPMFreedom (.rpm) binaries
  https://www.fsfla.org/selibre/linux-libre/download/rpmfreedom/


# Artwork

Yeah, about that...

I'm told things always get a little out of hand during the holidays, but
I'm a blue penguin, and penguins are always out of hands! ;-)

I'm lucky that tutor Jason could make me a scale to scale, :-)
one for real me, and for my iconic caricature.

Blue penguins are naturally smaller than other penguins,
but I didn't expect my weight to come out like that!


With the removal of a couple of the blobs that were still present in
past releases of upstream Linux, I thought my patchset might have
started this year a little lighterweight.

But no such luck.  Lots of new blob names made up for it. :-(

The patchset got even bigger, having just got past 3k edits overall.
It's huge!

Oh well...

On the upside, that means I'm comparatively even leaner than before!


Getting rid of so much undesirable weight is hard work!

Thanks to my tutors for their dedication to keeping me healthy and free!

Here's hoping Tux also loses some more undesirable weight.

But for that, he needs help from his tutors.

I wonder if they even care about it...


Oh, you may have missed that tutor Jason also made me a special costume
for the 6.6.6-gnu release last month.  I've always wanted GNU horns!

Check them all out at https://linux-libre.fsfla.org/~freedo/#news


# Cleaning up changes

- Dropped cleaning up of COPS Localtalk and rtl8192u wifi drivers, they
got removed upstream.

- Updated cleaning up of amdgpu, nouveau, adreno, mwifiex, mt7988,
ath11k, avs, btqca.

- Cleaned up aarch64 dts files's mentions of blobs.

- Cleaned up new mt7925, tps6598x, aw87390, aw88399 drivers.


## Bug fixes

- xhci-pci, rtl8xxxu, and rtw8822b drivers had unintended cleanups,
along with intended ones, in some past releases.  The cleanups would
have only affected hardware that is not compatible with your freedom
anyway, for demanding actual blobs, but we took the opportunity to
restore other bits that, despite also looking suspicious, were
ultimately fine to keep.


For fresh news about GNU Linux-libre, follow me in the Fediverse.
https://mastodon.social/@freedo

My tutors are also on IRC: #gnu-linux-libre on libera.chat.

That was all, everyone.  Be Free! with GNU Linux-libre.

*waves wings*


# Rolling credits

What is GNU Linux-libre?


  GNU Linux-libre is a Free version of the kernel Linux (see below),
  suitable for use with the GNU Operating System in 100% Free
  GNU/Linux-libre System Distributions.
  http://www.gnu.org/distros/

  It removes non-Free components from Linux, that are disguised as
  source code or distributed in separate files.  It also disables
  run-time requests for non-Free components, shipped separately or as
  part of Linux, and documentation pointing to them, so as to avoid
  (Free-)baiting users into the trap of non-Free Software.
  http://www.fsfla.org/anuncio/2010-11-Linux-2.6.36-libre-debait

  Linux-libre started within the gNewSense GNU/Linux distribution.
  It was later adopted by Jeff Moe, who coined its name, and in 2008
  it became a project maintained by FSF Latin America.  In 2012, it
  became part of the GNU Project.

  The GNU Linux-libre project takes a minimal-changes approach to
  cleaning up Linux, making no effort to substitute components that
  need to be removed with functionally equivalent Free ones.
  Nevertheless, we encourage and support efforts towards doing so.
  http://libreplanet.org/wiki/LinuxLibre:Devices_that_require_non-free_firmware

  Our mascot is Freedo, a light-blue penguin that has just come out
  of the shower.  Although we like penguins, GNU is a much greater
  contribution to the entire system, so its mascot deserves more
  promotion.  See our web page for their images.
  http://linux-libre.fsfla.org/

  If you are the author of an awesome program and want to join us in
  writing Free (libre) Software, please consider making it an official
  GNU program and become a GNU Maintainer.  You can find instructions
  on how to do so at https://www.gnu.org/help/evaluation.  We look
  forward to hacking with you! :)


What is Linux?
--

  Linux is a clone of the