Published, thanks!

Joshua Branson, le ven. 03 juil. 2026 16:32:51 -0400, a ecrit:
> ---
>  news/2026-q2.mdwn | 328 ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 328 insertions(+)
>  create mode 100644 news/2026-q2.mdwn
> 
> diff --git a/news/2026-q2.mdwn b/news/2026-q2.mdwn
> new file mode 100644
> index 00000000..4b2adccf
> --- /dev/null
> +++ b/news/2026-q2.mdwn
> @@ -0,0 +1,328 @@
> +[[!meta copyright="Copyright © 2026 Free Software Foundation, Inc."]]
> +
> +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
> +id="license" text="Permission is granted to copy, distribute and/or modify 
> this
> +document under the terms of the GNU Free Documentation License, Version 1.2 
> or
> +any later version published by the Free Software Foundation; with no 
> Invariant
> +Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the 
> license
> +is included in the section entitled [[GNU Free Documentation
> +License|/fdl]]."]]"""]]
> +
> +<!-- TODO before committing
> +
> +These wiki pages need to be added to hurd.gnu.org:
> +
> +hurd/translator/9pfs
> +hurd/translator/eth-multiplexer
> +logo/ethernet-multiplexor.svg
> +
> +-->
> +
> +Hello and welcome to another Qoth!  Here's what's been happening in Q2
> +of 2026!
> +
> +Joshua Branson added a pretty cool svg logo for our [[ethernet
> +multiplexor|hurd/translator/eth-multiplexer]].  He built that image
> +with Inkscape whilst using a Hurd laptop (Thinkpad 420) running on
> +real iron! The Hurd wiki could certainly use more artwork.  Perhaps
> +you have a favorite Hurd translator that you believes needs some
> +artwork!
> +
> +Sergey Bugaev announced his [WIP
> +9pfs](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00012.html)
> +([source code](https://github.com/bugaevc/9pfs)),
> +and it has a [[wiki page|hurd/translator/9pfs]]! He writes:
> +
> +    Some years ago, I experimented with implementing a 9P translator for
> +    the Hurd. Hopefully there is no need to tell this list what 9P is :)
> +
> +    Besides just browsing files on the few existing servers out there, a
> +    potential use case is virtio-9p, to enable shared directory trees
> +    between VMs and the host. But that would need someone to implement
> +    virtio support in the Hurd.
> +
> +    I wanted to complete 9pfs before publishing, but that ultimately
> +    didn't happen, so now it's time to turn it over to the community. I
> +    now went and made the repository public on GitHub:
> +    https://github.com/bugaevc/9pfs
> +
> +    What's implemented is basic browsing (readdir, stat), path resolution
> +    (dir_lookup), and reading files (io_read). And below that, the whole
> +    tracking for nodes, peropens, protids, fids, tags, and 9p RPCs.
> +
> +    Improvements are welcome, send patches to this list with [PATCH 9pfs]
> +    in the subject. A good starting point would be to continue porting
> +    things that I had implemented in the old netfs-based version (see
> +    netfs.c) but didn't yet port to the new one.
> +
> +He then got a little more motivated, and he added some write support!
> +
> +Etienne Brateau added
> +[validation](https://lists.gnu.org/archive/html/bug-hurd/2026-05/msg00098.html)
> +to [msync](https://man7.org/linux/man-pages/man2/msync.2.html), so
> +that the Hurd better follows POSIX.
> +
> +Diego Nieto Cid worked on allowing privileged users to set their task
> +priority (nice value).  His patches landed in
> +[glibc](https://lists.gnu.org/archive/html/bug-hurd/2026-05/msg00100.html)
> +and [GNU
> +Mach](https://lists.gnu.org/archive/html/bug-hurd/2026-05/msg00099.html).
> +He also fixed a [tiny
> +bug](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00232.html)
> +in our test suite. He fixed an adjtime bug, which is helpful to [the
> +OpenNTPD
> +port](https://lists.gnu.org/archive/html/bug-hurd/2026-05/msg00061.html),
> +and he fixed
> +[two more](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00133.html)
> +[bugs](https://lists.gnu.org/archive/html/bug-hurd/2026-05/msg00117.html).
> +
> +
> +Paulo Duarte sent a RFC patch series trying to commit Sergey’s
> +previous AArch64 work. He writes:
> +
> +    This series adds the gnumach kernel-side implementation for the
> +    aarch64 ABI Sergey landed in April 2024, plus the test-suite arms.
> +    Patch 01 brings in the aarch64-only sources from bugaevc/wip-aarch64
> +    verbatim, with Sergey as Author; the rest is mine.
> +
> +    The meaningful divergence from wip-aarch64 is what I left out:
> +    roughly 150 files of cross-arch refactoring across kern/, ipc/, vm/,
> +    device/intr.{c,h}, and the i386 tree. Each got replaced with a
> +    smaller per-arch shim under aarch64/ so kern/bootstrap.c,
> +    device/intr.{c,h}, kern/lock.h, and the i386 trees all stay
> +    bit-identical to current master. The shared-file footprint outside
> +    aarch64/ is four files: a new ELF constant, two missing decls plus
> +    their include, and a linker-symbol filter extension...
> +
> +    Tested: 12/12 pass on x86_64, i686, and aarch64 under qemu. No
> +    bare-metal validation yet. I plan to build bootable images and boot
> +    the kernel on Apple M1 / Raspberry Pi (aarch64) and an x86_64 box
> +    (x86_64 + i686). Help on any of these welcome.
> +
> +
> +He also fixed a [tiny cross compilation 
> issue](https://lists.gnu.org/archive/html/bug-hurd/2026-05/msg00077.html).
> +
> +
> +gfleury fixed some [tmpfs
> +typos](https://lists.gnu.org/archive/html/bug-hurd/2026-05/msg00038.html).
> +He also fixed a [kernel crash on a null pointer
> +deference](https://lists.gnu.org/archive/html/bug-hurd/2026-05/msg00101.html).
> +
> +Almudena Garcia is developing a [WIP trivfs implementation in
> +rust](https://gitlab.com/AlmuHS/hurd-translator-in-rust).  The work is
> +not complete yet, but it is possible to write Hurd translators in Rust!
> +
> +Mikhail Karpov added some checks for [mmap in several 
> places](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00165.html).
> +He also worked on adding storeio to the [bootstrap
> +chain](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00221.html).
> +This is actually quite interesting.  Currently the Hurd sets device
> +entries in `/dev/` statically.  For example, I am writing this qoth on
> +a Hurd machine that is using two `/dev/` entries for my filesystem:
> +`/dev/wd0s1` for swap and `/dev/wd0s5` for my root filesystem.
> +However, `/dev/wd0s1` through `/dev/wd0s16` exist on my computer!
> +Once Mikhail's project is done, then the Hurd will dynamically
> +populate SATA devices at boot time!  No more need for static
> +translators! [He
> +writes](https://lists.gnu.org/archive/html/bug-hurd/2026-05/msg00041.html):
> +
> +
> +    I've expanded the functionality of the partfs translator to work
> +     with multiple disks and their partitions. Thus, by running the
> +    command:
> +     settrans -c partfs /hurd/partfs /root/disk1.img /root/disk2.img 
> /root/disk3.img
> +
> +
> +    The translator directory will have the following directory tree:
> +    partfs
> +    ├── 0
> +    │ ├── 1
> +    │ ├── 2
> +    │ └── ...
> +    ├── 1
> +    │ ├── 1
> +    │ ├── 2
> +    │ └── ...
> +    ├── 2
> +    │ ├── 1
> +    │ ├── 2
> +    │ └── ...
> +    Since the disks are directories, the cd and ls commands work in the 
> translator node.
> +
> +    I also tested mounting, reading, and writing using the commands:
> +    `settrans -c ext01 /hurd/ext2fs -w -T typed file:/root/partfs/0/1`
> +    and
> +    `settrans -c ext1_1 /hurd/ext2fs -w -T typed part:1:file:/root/partfs/1`
> +
> +It actually is even cooler!  Samuel (our fearless leader) is [seeking
> +feedback](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00187.html)
> +for how to name these newer `/dev` entries. Samuel 
> [writes](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00187.html):
> +
> +    One thing that would be really needed for efficiency is to implement
> +    netfs_file_get_storage_info, so that libstore would be able to get the
> +    underlying storage information, and directly get data from there rather
> +    than partfs having to pass data with io_read/write.
> +
> +    I'm then wondering how this would fit in the "grand scheme". Our current
> +    approach, /dev/hd0s* being always there, is indeed not really good
> +    because it doesn't easily tell the user which partitions are actually
> +    there. We used to have to have this because partitions used to be
> +    handled by the kernel, and then we have moved to
> +    storerio+parted-supported partitions, which brings much more
> +    flexibility.
> +
> +    Perhaps we could use
> +
> +    settrans -c /dev/hd0s /hurd/partfs /dev/hd0
> +
> +    and then we'd have /dev/hd0s/1, which is almost like before, but allows
> +    the entries to be dynamic. Actually, we could even have some
> +
> +    settrans -c /dev/hd /hurd/probedisk hd
> +
> +    and then we'd have /dev/hd/0, and we could have /dev/hd/0s being partfs,
> +    so we'd eventually have
> +
> +    /dev/hd/0s/1
> +
> +    But I'm also thinking that perhaps it could be integrated more with
> +    storeio, i.e. /dev/hd0 can as well also act as a directory with partfs
> +    behavior, so you could have
> +
> +    /dev/hd0/1
> +
> +    and with the probedisk translator, you could have
> +
> +    /dev/hd/0/1
> +
> +    What do people think about it?
> +
> +
> +Mike Kelly has been hard at work [porting OpenBSD’s
> +OpenNTPD](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00185.html),
> +which required some glibc work. The Hurd doesn't currently have a
> +NTP daemon, so thanks Mike!
> +
> +He also debugged a [weird memory error with
> +rump](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00029.html),
> +and he provided a ["brown-tape"
> +solution](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00136.html)
> +for it. Hopefully, he (or you dear reader), can reach out to the
> +NetBSD people to fix this bug.  This just goes to show that when two
> +projects use the same code, both projects benefit!
> +
> +He also got a [glibc patch
> +committed](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00012.html).
> +Essentially `SIGSTOP`/`SIGCONT` was duplicating portions of files,
> +which is now fixed.  However, there are still some [other
> +issues](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00149.html)
> +with building some haskell packages.
> +
> +Joan Lledó continued his work
> +[on](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00067.html)
> +[porting](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00146.html)
> +[dhcpcd](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00028.html).
> +Also Roy Maples, the dhcpcd maintainer did a lot of helpful work to
> +help us out.  Thanks Roy!
> +
> +Bradley Morgan fixed a [tiny implementation bug with
> +cat](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00120.html). He
> +also tweaked procfs to [show hidden
> +files](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00122.html),
> +and he [allowed passing “-s” to
> +init](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00082.html).
> +Previously, passing "-s" to init was silently ignored.
> +
> +Johannes Schauer Marin Rodrigues has been working on getting [s-build
> +to run on amd64
> +Hurd](https://lists.debian.org/debian-hurd/2026/06/msg00000.html).  It
> +is a rather long email thread, so grab some popcorn and dig in!
> +
> +Milos Nikic ported
> +[Neovim](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00141.html).
> +He also worked on
> +[bug](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00179.html)
> +[fixes](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00195.html)
> +to
> +[libdiskfs](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00020.html),
> +and he fixed a deadlock bug in the [“ext3/ext4” filesystem
> +journal](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00171.html).
> +
> +
> +In the last qoth we had talked about how the Milos was working on
> +adding an ext3/ext4 binary compatible journal.  Samuel has committed
> +it!  Samuel wrote:
> +
> +    There is a couple things that I fixed on the fly:
> +
> +    - We want to use pthread_cond_clockwait rather than
> +      pthread_cond_timedwait, to be able to use CLOCK_MONOTONIC instead of
> +      CLOCK_REALTIME, to avoid being hit by ntpdate and such.
> +
> +    - In diskfs_S_dir_rename, there was an addition of:
> +
> +      pthread_mutex_unlock (&fnp->lock);
> +
> +      which was clearly bogus: we were unlocking it again below.
> +
> +    There are a couple things that we'd want to fix now:
> +
> +    - when calling diskfs_file_update, don't we have to be inside a
> +      transaction? Otherwise if we pass wait=1 and use a journal, we won't
> +      be waiting AIUI? Notably, in diskfs_S_dir_rmdir we don't use a
> +      transaction. And ideally we'd have an assertion that makes sure we
> +      respect this.
> +
> +    - we should define some helper for this recurring pattern:
> +
> +      if ((docommit) && (diskfs_synchronous || diskfs_journal_needs_sync 
> (txn)))
> +        diskfs_journal_commit_transaction (txn);
> +      else
> +        diskfs_journal_stop_transaction (txn);
> +
> +    - journal_drain_deferred_blocks should document what it does, not just
> +      its call conditions :), and more generally the functions that are
> +      not already documented in a .h and not just a _locked variant of a
> +      documented function.
> +
> +Leonardo Lopes Pereira did some [spring
> +cleaning](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00083.html)
> +to remove some [dead
> +code](https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00084.html).
> +
> +
> +
> +Samuel Thibault mentioned [in an
> +email](https://lists.debian.org/debian-hurd/2026/04/msg00016.html)
> +that the Hurd can support nvmes with rump, but that the work was just
> +not done yet.  Perhaps you, dear reader, would like to help us
> +accomplish this task?
> +
> +The mysterious user yelini worked on [porting the D language 
> compiler](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00069.html).
> +
> +
> +Damien Zammit worked on [tweaking the Hurd’s WIP
> +CI](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00139.html).
> +He also
> +[fixed](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00106.html)
> +[several](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00100.html)
> +[bugs](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00117.html)
> +to make it possible to run the Hurd’s test suite from GNU/Linux
> +running on an AArch64 computer. He also is working on integrating
> +qemu’s Hurd support into [upstream qemu’s
> +CI](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00102.html),
> +so that the support does not bitrot.
> +
> +
> +Sophiel Zhou fixed [a tiny pfinet permission checking
> +issue](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00027.html)
> +and taught [pfinet to not fail under memory 
> pressure](https://lists.gnu.org/archive/html/bug-hurd/2026-06/msg00043.html):
> +
> +    This series fixes two latent crash bugs in pfinet where mmap
> +    return values go unchecked, may causing crash when memory is tight.
> +
> +    Both bugs follow the same pattern: mmap is called to grow a buffer,
> +    but the returned pointer is dereferenced before (or without) checking
> +    for MAP_FAILED.  Under normal operation mmap rarely fails, so these
> +    have gone unnoticed, but under address-space pressure pfinet would
> +    crash.
> +
> -- 
> 2.53.0
> 
> 

-- 
Samuel
What's this script do?
    unzip ; touch ; finger ; mount ; gasp ; yes ; umount ; sleep
Hint for the answer: not everything is computer-oriented. Sometimes you're
in a sleeping bag, camping out.
(Contributed by Frans van der Zande.)

Reply via email to