Planet GNU
https://planet.gnu.org/
enPlanet GNU - https://planet.gnu.org/FSF Blogs: Call for volunteers: Help us with the GNU Press shophttp://www.fsf.org/blogs/community/cfv-help-us-with-the-gnu-press-shop
http://www.fsf.org/blogs/community/cfv-help-us-with-the-gnu-press-shop
Mon, 25 Nov 2024 18:30:00 +0000GNU Guix: Guix/Hurd on a Thinkpad X60https://guix.gnu.org/blog/2024/hurd-on-thinkpad//
https://guix.gnu.org/blog/2024/hurd-on-thinkpad//
<p>A lot has happened with respect to <a href="https://hurd.gnu.org">the Hurd</a>
since our <a href="https://guix.gnu.org/en/blog/2020/childhurds-and-substitutes/"><em>Childhurds and GNU/Hurd
Substitutes</em></a>
post. As long as two years ago some of you <a href="https://logs.guix.gnu.org/hurd/2022-05-15.log#070056">have been
asking</a> for a
progress update and although there <a href="https://dezyne.org/janneke/logs/%23guix/2023-05-28.log.html#113945">have been
rumours</a>
on a new blog post for over a year, <a href="https://logs.guix.gnu.org/guix/2023-03-11.log#221532">we
were</a> kind of
<a href="https://logs.guix.gnu.org/guix/2023-05-13.log#165020">waiting for</a>
the <a href="https://logs.guix.gnu.org/guix/2023-09-16.log#163627">rumoured x86_64
support</a>.</p><p>With all the exciting progress on the Hurd coming available after the
recent (last?) <a href="https://lists.gnu.org/archive/html/guix-devel/2024-08/msg00195.html">merger of
<code>core-updates</code></a>
we thought it better <a href="https://logs.guix.gnu.org/guix/2023-09-16.log#163627">not to
wait</a> any
longer. So here is a short overview of our Hurd work over the past
years:</p><ul><li><p>Update <a href="https://lists.gnu.org/archive/html/guix-patches/2023-03/msg02186.html">Hurd to 3ff7053, gnumach 1.8+git20220827, and fix build
failures</a>,</p></li><li><p>A <a href="https://lists.gnu.org/archive/html/bug-guix/2023-05/msg00526.html">native compilation fix for
gcc-boot0</a>,</p></li><li><p>Initial <a href="https://lists.gnu.org/archive/html/guix-patches/2023-05/msg00633.html">rumpdisk
support</a>,
more on this below, which <a href="https://lists.gnu.org/archive/html/guix-patches/2023-07/msg00427.html">needed to
wait</a>
for:</p></li><li><p>A libc <a href="https://lists.gnu.org/archive/html/guix-patches/2023-05/msg00973.html">specific to
Hurd</a>,
updating gnumach to 1.8+git20221224 and hurd to 0.9.git20230216,</p></li><li><p>Some 40 native <a href="https://lists.gnu.org/archive/html/guix-patches/2023-07/msg00643.html">package build fixes for the
Hurd</a>
so that all development dependencies of the guix package are now
available,</p></li><li><p>A hack to use Git source in commencement to <a href="https://lists.gnu.org/archive/html/guix-patches/2023-07/msg00630.html">update and fix cross
build and native build for the
Hurd</a>,</p></li><li><p>Support for buiding <code>guix</code> natively on the Hurd by splitting the
<a href="https://lists.gnu.org/archive/html/bug-guix/2023-08/msg00190.html">build into more steps for 32-bit
hosts</a></p></li><li><p>Even nicer offloading support for Childhurds by <a href="https://lists.gnu.org/archive/html/guix-patches/2023-09/msg01505.html">introducing Smart
Hurdloading</a>
so that now both the Bordeaux and Berlin build farms build
packages for i586-gnu,</p></li><li><p>Locale fixes for <a href="https://lists.gnu.org/archive/html/bug-guix/2023-10/msg00223.html">wrong <code>glibc-utf8-locales</code> package used on
GNU/Hurd</a>,</p></li><li><p>More locale fixes to <a href="https://lists.gnu.org/archive/html/guix-patches/2023-11/msg01749.html">use <code>glibc-utf8-locales/hurd</code> in
%standard-patch-inputs</a>,</p></li><li><p>And even more locale fixes for <a href="https://lists.gnu.org/archive/html/guix-patches/2023-11/msg01932.html">using the right locales on
GNU/Hurd</a>,</p></li><li><p>A <a href="https://lists.gnu.org/archive/html/guix-patches/2023-12/msg00343.html">new glibc
2.38</a>
allowing us to do <code>(define-public glibc/hurd glibc)</code>—i.e., once
again use the same glibc for Linux and Hurd alike, and: Better
Hurd support!,</p></li><li><p>Creation of <a href="https://lists.gnu.org/archive/html/guix-commits/2024-01/msg01382.html"><code>hurd-team</code>
branch</a>
with build fixes, updating gnumach to 1.8+git20230410 and hurd to
0.9.git20231217,</p></li><li><p>A constructive meeting with sixteen people during the <a href="https://guix.gnu.org/en/blog/2024/guix-days-2024-recap/">Guix
Days</a>
just before <a href="https://archive.fosdem.org/2024/">FOSDEM '24</a> <a href="https://lists.gnu.org/archive/html/guix-patches/2024-02/msg00035.html">with
notes</a>
that contain some nice ideas,</p></li><li><p>Another <a href="https://lists.gnu.org/archive/html/guix-commits/2024-02/msg00941.html">new glibc
2.39</a>;
even better Hurd support, opening the door to <code>x86_64</code> support,</p></li><li><p>Yet another <a href="https://mail.gnu.org/archive/html/guix-patches/2024-08/msg00627.html">restoring of i586-gnu (32-bit GNU/Hurd)
support</a>,</p></li><li><p>The installer just <a href="https://lists.gnu.org/archive/html/guix-patches/2024-10/msg01132.html">learnt about the
Hurd</a>!
More on this below, and finally,</p></li><li><p>Another set of updates: gnumach (1.8+git20240714), mig
(1.8+git20231217), hurd (0.9.git20240714), netdde (c0ef248d),
rumpkernel (f1ffd640), and <a href="https://lists.gnu.org/archive/html/guix-patches/2024-11/msg00708.html">initial support for x86_64-gnu, aka
the 64bit
Hurd</a>.</p></li></ul><h1>NetDDE and Rumpdisk support</h1><p>Back in 2020, Ricardo Wurmus <a href="https://git.savannah.gnu.org/cgit/guix.git/commit/?id=d30d3e3f60df511e484adb3e459625b3251b0917">added the NetDDE
package</a>
that provides Linux 2.6 network drivers. At the time we didn't get to
integrate and use it though and meanwhile it bitrotted.</p><p>After we <a href="https://lists.gnu.org/archive/html/bug-hurd/2023-05//msg00449.html">resurrected the NetDDE
build</a>,
and with <a href="https://lists.gnu.org/archive/html/bug-hurd/2023-05//msg00455.html">kind help of the Hurd
developers</a>
we finally managed to <a href="https://git.savannah.gnu.org/cgit/guix.git/commit/?id=9c1957921a1f53973c9b4b895f6d6d5fa63fe2dd">support NetDDE for the
Hurd.</a>.
This allows the usage of the Intel 82573L Gigabit Ethernet Controller
of the Thinkpad X60 (and many other network cards, possibly even
WIFI). Instead of using the builtin kernel driver in GNU Mach, it
would be running <em>as a userland driver</em>.</p><p>What sparked this development was upstream's NetBSD rumpdisk support
that would allow using modern hard disks such as SSDs, again running
as a userland driver. Hard disk support builtin in GNU Mach was
once considered to be a nice hack but it only supported disks up to
128 GiB…</p><p>First, we needed to <a href="https://lists.gnu.org/archive/html/bug-hurd/2023-05//msg00400.html">fix the cross build on
Guix</a>.</p><p>After the <a href="https://lists.gnu.org/archive/html/guix-patches/2023-05/msg00633.html">initial attempt at rumpdisk support for the
Hurd</a>
it <a href="https://lists.gnu.org/archive/html/guix-patches/2023-05/msg00659.html">took
(v2)</a>
<a href="https://lists.gnu.org/archive/html/guix-patches/2023-05/msg00746.html">some
(v3)</a>
<a href="https://lists.gnu.org/archive/html/guix-patches/2023-05/msg00755.html">work
(v4)</a>
to finally arrive at <a href="https://lists.gnu.org/archive/html/guix-patches/2023-05/msg01049.html">rumpdisk support for the Hurd, really, <code>*</code>really<code>*</code>
(v5)</a></p><p>Sadly when actually using them, booting hangs:</p><pre><code>start: pci.arbiter:</code></pre><p>What did not really help is that upstream's rumpkernel archive <a href="https://lists.gnu.org/archive/html/bug-hurd/2023-06/msg00099.html">was
ridiculously
large</a>.
We managed to work with upstream to remove unused bits from the
archive. Upstream created a new archive that instead of 1.8 GiB (!) now
“only” weighs 670 MiB.</p><p>Anyway, after a lot of building, rebuilding, and debugging and some
more with <a href="https://lists.gnu.org/archive/html/bug-hurd/2023-05//msg00271.html">kind help from
upstream</a>
we finally got Rumpdisk and NetDDE <a href="https://toot.aquilenet.fr/@civodul/110848429561223704">to run in a
Childhurd</a>.</p><p><img alt="NetDDE and Rumpdisk userland processes in a Childhurd" src="https://guix.gnu.org/static/blog/img/netdde-and-rumpdisk-processes.png" /></p><h1>Initial Guix/Hurd on the Thinkpad X60</h1><p>Now that the last (!) <code>core-updates</code> merge has finally happened (thanks
everyone!), the recipe of installing Guix/Hurd has been much
simpfilied. It goes something along these lines.</p><ol><li><p>Install Guix/Linux on your X60,</p></li><li><p>Reserve a partition and format it for the Hurd:</p><pre><code>mke2fs -o hurd -L hurd /dev/sdaX</code></pre></li><li><p>In your <code>config.scm</code>, add some code to add GRUB menuentries for
booting the Hurd, and mount the Hurd partition under <code>/hurd</code>:</p><pre><code class="language-scheme">(use-modules (srfi srfi-26)
(ice-9 match)
(ice-9 rdelim)
(ice-9 regex)
(gnu build file-systems))
(define %hurd-menuentry-regex
"menuentry \"(GNU with the Hurd[^{\"]*)\".*multiboot ([^ \n]*) +([^\n]*)")
(define (text->hurd-menuentry text)
(let* ((m (string-match %hurd-menuentry-regex text))
(label (match:substring m 1))
(kernel (match:substring m 2))
(arguments (match:substring m 3))
(arguments (string-split arguments #\space))
(root (find (cute string-prefix? "root=" <>) arguments))
(device-spec (match (string-split root #\=)
(("root" device) device)))
(device (hurd-device-name->device-name device-spec))
(modules (list-matches "module ([^\n]*)" text))
(modules (map (cute match:substring <> 1) modules))
(modules (map (cute string-split <> #\space) modules)))
(menu-entry
(label label)
(device device)
(multiboot-kernel kernel)
(multiboot-arguments arguments)
(multiboot-modules modules))))
(define %hurd-menuentries-regex
"menuentry \"(GNU with the Hurd[^{\"]*)\" \\{([^}]|[^\n]\\})*\n\\}")
(define (grub.cfg->hurd-menuentries grub.cfg)
(let* ((entries (list-matches %hurd-menuentries-regex grub.cfg))
(entries (map (cute match:substring <> 0) entries)))
(map text->hurd-menuentry entries)))
(define (hurd-menuentries)
(let ((grub.cfg (with-input-from-file "/hurd/boot/grub/grub.cfg"
read-string)))
(grub.cfg->hurd-menuentries grub.cfg)))
...
(operating-system
...
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(targets '("/dev/sda"))
(menu-entries (hurd-menuentries))))
(file-systems (cons* (file-system
(device (file-system-label "guix"))
(mount-point "/")
(type "ext4"))
(file-system
(device (file-system-label "hurd"))
(mount-point "/hurd")
(type "ext2"))
%base-file-systems))
...)</code></pre></li><li><p>Create a <code>config.scm</code> for your Hurd system. You can get
inspiration from <a href="https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system/examples/bare-hurd.tmpl">bare-hurd.tmpl</a>
and inherit from <code>%hurd-default-operating-system</code>. Use
<code>grub-minimal-bootloader</code> and add a <code>static-networking-service-type</code>.
Something like:</p><pre><code class="language-scheme">(use-modules (srfi srfi-1) (ice-9 match))
(use-modules (gnu) (gnu system hurd))
(operating-system
(inherit %hurd-default-operating-system)
(bootloader (bootloader-configuration
(bootloader grub-minimal-bootloader)
(targets '("/dev/sda"))))
(kernel-arguments '("noide"))
...
(services
(cons*
(service static-networking-service-type
(list %loopback-static-networking
(static-networking
(addresses
(list
(network-address
(device "eth0")
(value "192.168.178.37/24"))))
(routes
(list (network-route
(destination "default")
(gateway "192.168.178.1"))))
(requirement '())
(provision '(networking))
(name-servers '("192.168.178.1")))))
...)))</code></pre></li><li><p>Install the Hurd. Assuming you have an <code>ext2</code> filesystem mounted
on <code>/hurd</code>, do something like:</p><pre><code>guix system build --target=i586-pc-gnu vuurvlieg.hurd --verbosity=1
sudo -E guix system init --target=i586-pc-gnu --skip-checks \
vuurvlieg.hurd /hurd
sudo -E guix system reconfigure vuurvlieg.scm</code></pre></li><li><p>Reboot and...</p></li></ol><p>Hurray!</p><p>We now have <a href="https://todon.nl/@janneke/110451493405777898">Guix/Hurd running on
Thinkpad</a>.</p><p><img alt="Guix/Hurd GRUB menu on ThinkpadX60" src="https://guix.gnu.org/static/blog/img/thinkpad-hurd-bootmenu.jpeg" /></p><p><img alt="Guix/Hurd running on ThinkpadX60" src="https://guix.gnu.org/static/blog/img/thinkpad-hurd-login.jpeg" /></p><h1>Guix/Hurd on Real Iron</h1><p>While the initial manual install on the X60 was an inspiring
milestone, we can do better. As mentioned above, just recently the
<a href="https://lists.gnu.org/archive/html/guix-patches/2024-10/msg01132.html">installer learnt about the
Hurd</a>,
right after some smaller problems were addressed, like <code>guix system init</code> creating essential devices for the Hurd, not attempting to run a
cross-built <code>grub-install</code> to install Grub, soft-coding the hard-coded
<code>part:1:device:wd0</code> root file-system, adding support for booting
Guix/Hurd more than once.</p><p>To install Guix/Hurd, first, build a 32bit installation image and copy
it to a USB stick:</p><pre><code>guix system image --image-type=iso9660 --system=i686-linux gnu/system/install.scm
dd if=/gnu/store/cabba9e-image.iso of=/dev/sdX status=progress
sync</code></pre><p>then boot it on a not-too-new machine that has wired internet
(although installation over WIFI is possible, there is currently no
WIFI support for the installed Hurd to use it). On the new <code>Kernel</code>
page:</p><p><img alt="Installer Kernel page" src="https://guix.gnu.org/static/blog/img/installer-kernel-page.png" /></p><p>choose <code>Hurd</code>. Do not choose a desktop environment, that's not
available yet. On the <code>Network management</code> page:</p><p><img alt="Installer Network management page" src="https://guix.gnu.org/static/blog/img/installer-network-management-page.png" /></p><p>choose the new <code>Static networking service</code>. In the final
<code>Configuration file</code> step, don't forget to edit:</p><p><img alt="Installer Configuration file page" src="https://guix.gnu.org/static/blog/img/installer-configuration-file-page.png" /></p><p>and fill-in your <code>IP</code> and <code>GATEWAY</code>:</p><p><img alt="Installer Edit static networking" src="https://guix.gnu.org/static/blog/img/installer-nano-edit-static-networking.png" /></p><p>You may want to add some additional packages such as <code>git-minimal</code>
from <code>(gnu packages version-control)</code> and <code>sqlite</code> from <code>(gnu packages sqlite)</code>.</p><p>If you also intend to do Guix development on the Hurd—e.g., debugging
and fixing native package builds—then you might want to include all
dependencies to build the guix package, see the
<a href="https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system/examples/devel-hurd.tmpl?h=hurd-team"><code>devel-hurd.tmpl</code></a>
for inspiration on how to do that. Note that any package you add must
already have support for cross-building.</p><p>Good luck, and let us know if it works for you and on what kind of
machine, or why it didn't!</p><h1>What's next?</h1><p>In <a href="https://guix.gnu.org/en/blog/2020/a-hello-world-virtual-machine-running-the-hurd/">an earlier
post</a>
we tried to answer the question “Why bother with the Hurd anyway?” An
obvious question because it is <a href="https://xkcd.com/1508">all too easy to get
discouraged</a>, to downplay or underestimate the
potential social impact of GNU and the Hurd.</p><p>The most pressing problem currently is that the <a href="https://issues.guix.gnu.org/73181">guix-daemon fails
when invoking <code>guix authenticate</code> on the
Hurd</a>, which means that we cannot
easily keep our substitutes up to date. <code>guix pull</code> is known to work
but only by pulling from a local branch doing something like:</p><pre><code>mkdir -p ~/src/guix
cd src/guix
git clone https://git.savannah.gnu.org/git/guix.git master
guix pull --url=~/src/guix/master</code></pre><p>kinda like we did it in the old days. Sometimes it seems that guix
does not grok the sqlite store database. This is needs to be resolved
but as <code>sqlite</code> does read it this can be easily worked around by doing
something like:</p><pre><code>mv /var/guix/db/db.sqlite /var/guix/db/db.sqlite.orig
sqlite3 /var/guix/db/db.sqlite.orig .dump > /var/guix/db/db.sqlite.dump
sqlite3 -init /var/guix/db/db.sqlite.dump /var/guix/db/db.sqlite .quit</code></pre><p>Also, the boot process still fails to handle an unclean root file
system. Whenever the Hurd has suffered an unclean shutdown, cleaning
it must currently be done manually, e.g., by booting from the
installer USB stick.</p><p>Upstream now has decent support for 64bit (x86_64) albeit <a href="https://lists.gnu.org/archive/html/bug-hurd/2024-07/msg00058.html">with more
bugs and fewer
packages</a>.
As mentioned in the overview <a href="https://lists.gnu.org/archive/html/guix-patches/2024-11/msg00708.html">we are now
working</a>
<a href="https://lists.gnu.org/archive/html/guix-patches/2024-11/msg00925.html">to have
that</a>
<a href="https://lists.gnu.org/archive/html/guix-patches/2024-11/msg01326.html">in
Guix</a>
and <a href="https://lists.gnu.org/archive/html/guix-patches/2024-11/msg01676.html">have
made</a>
<a href="https://todon.nl/@janneke/113457925305954698">some progress</a>:</p><p><img alt="Hello Guix 64bit Hurd" src="https://guix.gnu.org/static/blog/img/hello-guix-x86_64-gnu.png" /></p><p>more on that in another post. Other interesting task for Guix
include:</p><ul><li>Have <code>guix system reconfigure</code> work on the Hurd,</li><li>Figure out WiFi support with NetDDE (and add it to installer!),</li><li>An <a href="https://issues.guix.gnu.org/43857">isolated build
environment</a> (or better
wait for, err, contribute to the <a href="https://guix.gnu.org/en/blog/2023/a-build-daemon-in-guile/">Guile
guix-daemon</a>?),</li><li>An installer running the Hurd, and,</li><li>Packages, packages, packages!</li></ul><p>We tried to make Hurd development as easy and as pleasant as we could.
As you have seen, things start to work pretty nicely and there is
still plenty of work to do in Guix. In a way this is “merely
packaging” the amazing work of others. Some of the real work that
needs to be done and which is being discussed and is in progress right
now includes:</p><ul><li><a href="https://nlnet.nl/project/Hurd-Audio/">Audio support</a> (this is
sponsored by <a href="https://nlnet.nl">NLnet</a>, thanks!),</li><li><a href="https://lists.gnu.org/archive/html//bug-hurd/2024-05/msg00002.html">Rumpnet</a>,</li><li><a href="https://lists.gnu.org/archive/html/bug-hurd/2024-09/msg00053.html">SMP</a>,</li><li><a href="https://lists.gnu.org/archive/html/bug-hurd/2024-03/msg00114.html">AArch64</a>.</li></ul><p>All these tasks look daunting, and indeed that’s a lot of work ahead.
But the development environment is certainly an advantage. Take an
example: surely anyone who’s hacked on device drivers or file systems
before would have loved to be able to GDB into the code, restart it, add
breakpoints and so on—that’s exactly the experience that the Hurd
offers. As for Guix, it will make it easy to test changes to the
micro-kernel and to the Hurd servers, and that too has the potential to
speed up development and make it a very nice experience.</p><p>Join <code>#guix</code> and <code>#hurd</code> on
<a href="https://guix.gnu.org/en/contact/irc/"><code>libera.chat</code></a> or the <a href="https://guix.gnu.org/en/contact">mailing
lists</a> and get involved!</p> Sun, 24 Nov 2024 18:00:00 +0000gnuboot @ Savannah: GNU Boot November 2024 Newshttps://savannah.gnu.org/news/?id=10697
https://savannah.gnu.org/news/?id=10697
<p>A lot has changed since the two last news from the GNU Boot project.
<br />
<br />
</p>
<h4>GNU Boot install party in Paris the 7 and 8 December 2024</h4>
<p>
<br />
People involved in the GNU Boot project will be organizing a 100% free
<br />
software install party within a bigger event that also has a regular
<br />
install party. There will also be a presentation about 100% free
<br />
software in there. The event will be mainly in French.
<br />
<br />
More details are available in French and in English in the following
<br />
link:
<br />
<a href="https://lists.gnu.org/archive/html/help-guix/2024-11/msg00112.html">https://lists.gnu.org/archive/html/help-guix/2024-11/msg00112.html</a>
<br />
<br />
</p>
<h4>GNU Boot 0.1 RC4</h4>
<p>
<br />
Many changes were made since the RC3 and since then we fixed an
<br />
important bug that prevented Trisquel from booting (If during the
<br />
Trisquel installation you chose "LVM2" and didn't encrypt the
<br />
storage, GNU Boot images with GRUB would not find the Trisquel
<br />
installation).
<br />
<br />
Because of that we decided to do a new RC4 (release candidate 4)
<br />
and to publish new GNU Boot images.
<br />
<br />
There are still some work needed before doing a 0.1 release as we want
<br />
to make it easier for less technical users to install and use GNU
<br />
Boot, but more and more of the project structure are getting in place
<br />
(website, manual, automatic tests, guix, good development procedures,
<br />
enabling build on all distributions, etc) which then makes it easier
<br />
to contribute.
<br />
<br />
We also decided to use Guix for more of the software components
<br />
we build, and since this is a big change, we will need people to
<br />
help more with testing.
<br />
<br />
</p>
<h4>Nonfree software found again, no supported device affected.</h4>
<p>
<br />
The last announcement we made was "Nonfree software found in GNU Boot
<br />
releases again, many distros affected"[1].
<br />
<br />
Some people misunderstood it (maybe we could have been more clear):
<br />
the nonfree software that we found was code that GNU Boot didn't use,
<br />
so it was easy to remove and it didn't affect the supported devices in
<br />
any way.
<br />
<br />
Finding nonfree software in 100% free distribution is also common:
<br />
this is part of the work to ensure these distribution remains 100%
<br />
free.
<br />
<br />
The first time it happened in GNU Boot we publicized it to explain why
<br />
we were re-releasing some of the GNU Boot files as it could be very
<br />
scary if this happens without any public communication.
<br />
<br />
The second time we published a news about it mainly to help propagate
<br />
the information to the affected distributions and this is probably why
<br />
it was misunderstood: it was mainly targeted at GNU Boot users and
<br />
maintainers of the affected packages. We also contacted upstream and
<br />
some affected distributions directly as well but contacting everybody
<br />
takes a lot of time so having a news about it helps. At least Debian
<br />
and Trisquel fixed the issue but we still need to contact some
<br />
distributions.
<br />
<br />
After that, and probably thanks to the previous news, Leah Rowe
<br />
contacted us on one of the GNU Boot mailing lists[2] to notify us that
<br />
she also found additional similar nonfree software in GNU Boot.
<br />
<br />
So we confirmed that and promptly removed them and re-made again the
<br />
source release. And here again even if the work was delayed a bit,
<br />
this was fast to do and it doesn't affect the supported devices in any
<br />
way.
<br />
<br />
But we also need help contacting distributions again because one of
<br />
the issue she found is very serious because it affects many
<br />
distributions and also important devices that GNU Boot doesn't
<br />
support.
<br />
<br />
The ARM trusted firmware ships a nonfree hdcp.bin binary in its source
<br />
code. ARM trusted firmware is a dependency of u-boot that is used to
<br />
support many ARM computers in other distributions (like Guix, Debian,
<br />
etc).
<br />
<br />
As contacting affected distributions is a tedious task, we also need
<br />
help to propagate the information and contact them especially because
<br />
we don't know if Leah intend or not to do that work (so far she didn't
<br />
reply when asked twice about it), so it's probably up to the GNU Boot
<br />
community as a whole (which also includes its maintainers and readers
<br />
of this news) to help here.
<br />
<br />
The details are in the commit 343515aee7ef34695ac45830fad419d9562f9c15
<br />
("coreboot: blobs.list: arm-trusted-firmware: Remove RK3399 hdcp.bin
<br />
firmware.") in the GNU Boot source code[3].
<br />
<br />
[1]<a href="https://savannah.gnu.org/news/?id=10684">https://savannah.gnu.org/news/?id=10684</a>
<br />
[2]<a href="https://lists.gnu.org/archive/html/gnuboot-patches/2024-10/msg00028.html">https://lists.gnu.org/archive/html/gnuboot-patches/2024-10/msg00028.html</a>
<br />
[3]<a href="https://git.savannah.gnu.org/cgit/gnuboot.git/commit/?id=343515aee7ef34695ac45830fad419d9562f9c15">https://git.savannah.gnu.org/cgit/gnuboot.git/commit/?id=343515aee7ef34695ac45830fad419d9562f9c15</a>
<br />
<br />
</p>
<h4>Website and documentation</h4>
<p>
<br />
Jordán (isf) has been contributing some Spanish translations of the
<br />
most important website pages (the landing, status and how to
<br />
contribute pages). This is important as it could help get more
<br />
contributors. These contributions also helped us improve the process
<br />
for accepting pseudonymous contributions and enabled us to fix issues.
<br />
<br />
The work on improving the website in general also continued. Many of
<br />
the website pages were reviewed and improved (there is a lot of work
<br />
there and mentioning it all would make the news way too long).
<br />
<br />
The website also now shows the git revision from which it is build and
<br />
we also helped the FSF fix some server configuration that created
<br />
issue with the deployment of the GNU Boot website (more details are in
<br />
the commit message[1]) by reporting the issue to them and testing the
<br />
fix.
<br />
<br />
Patches for making a manual are also being reviewed. While there isn't
<br />
much in the manual yet, it also enables to better organize the
<br />
documentation and it has the potential to make GNU Boot more
<br />
accessible to less technical people.
<br />
<br />
The next goals is to look how to merge part of the website inside the
<br />
manual and continue improving both the website and the manual.
<br />
<br />
[1]<a href="https://git.savannah.gnu.org/cgit/gnuboot.git/commit/?id=d1df672383f6eb8d4218fdef7fbe9ec5e41803e4">https://git.savannah.gnu.org/cgit/gnuboot.git/commit/?id=d1df672383f6eb8d4218fdef7fbe9ec5e41803e4</a>
<br />
<br />
</p>
<h4>Authenticating GNU Boot source code</h4>
<p>
<br />
We now have the ability to verify the source code when downloading it
<br />
from git. This is important to avoid certain type of attacks and it
<br />
also enables to write code to automatically download, verify and build
<br />
the GNU Boot source code.
<br />
<br />
The source can be verified with the following command (it requires to
<br />
have Guix installed):
<br />
$ guix git authenticate $(git rev-parse HEAD) \
<br />
"E23C 26A5 DEEE C5FA 9CDD D57A 57BC 26A3 6871 16F6" \
<br />
-k origin/keyring
<br />
<br />
If the authentication works it will print a message like that:
<br />
<br />
guix git: successfully
<br />
authenticated commit 05c09293d9660ea1f26b5b705a089b466a0aa718
<br />
<br />
The 05c09293d9660ea1f26b5b705a089b466a0aa718 might be different in
<br />
your case.
<br />
<br />
The "E23C 26A5 DEEE C5FA 9CDD D57A 57BC 26A3 6871 16F6" part in the
<br />
command above is Adrien Bourmault (neox)'s GPG key.
<br />
<br />
How to use that will be documented more in depth in the upcoming GNU
<br />
Boot manual that is currently being reviewed. Its importance will also
<br />
be explained in more details for people not familiar with the security
<br />
issues it's meant to solve. Also note that we also welcome help for
<br />
reviewing patches.
<br />
<br />
</p>
<h4>Licensing</h4>
<p>
<br />
The GNU Boot source code has a complex history. It is based on the
<br />
last fully free software releases of Libreboot. And the Libreboot
<br />
source code history is very complex.
<br />
<br />
We found some missing authorship information in some of the files that
<br />
come from Libreboot and so we started such information from the
<br />
various git repositories that were used at some point by Libreboot or
<br />
some of the projects it was based on.
<br />
<br />
To help with this task we also added a page on the GNU Boot website
<br />
(<a href="https://www.gnu.org/software/gnuboot/web/docs/history/">https://www.gnu.org/software/gnuboot/web/docs/history/</a>) to track the
<br />
status of the reconstruction of the missing authorship and to document
<br />
the GNU Boot source code history.
<br />
<br />
</p>
<h4>Upstream contributions and easier building of GNU Boot</h4>
<p>
<br />
GNU Boot is just a distribution and like most distributions, it tries
<br />
to collaborate with various upstream projects whenever possible.
<br />
<br />
Since GNU Boot relies on Guix, we improved the Guix documentation
<br />
directly to help people install Guix on Trisquel and Parabola. We also
<br />
helped Trisquel fix security issues in the Guix package by bug
<br />
reporting and testing fixes (some bugs still need to be fixed in
<br />
Parabola and Debian, and reporting issues upstream takes time).
<br />
<br />
Since we also advise to use PureOS or Trisquel to build GNU Boot we
<br />
also enabled people with Guix to produce PureOS or Trisquel chroots
<br />
with Debootstrap. This was done through contributions to Debootstrap,
<br />
and to the Guix Debootstrap package. We could then mention that in the
<br />
GNU Boot build documentation
<br />
(<a href="https://www.gnu.org/software/gnuboot/web/docs/build/">https://www.gnu.org/software/gnuboot/web/docs/build/</a>) and added a
<br />
script (in contrib/start-guix-daemon.py) to support building GNU Boot
<br />
in chroots. However there are still issue with the build in chroots
<br />
that need to be fixed to producing all released files. Instructions on
<br />
how to do build in chroots is also lacking.
<br />
<br />
In addition we also added the ability to build GNU Boot with Trisquel
<br />
11 (aramo).
<br />
<br />
An apt-cacher-ng package was also contributed in Guix upstream as it
<br />
can then be used to speed-up one of the automatic tests used in GNU
<br />
Boot but the support for apt-cacher-ng was not integrated yet in GNU
<br />
Boot. Last year we also contributed a GRUB package in Guix but we
<br />
didn't have the occasion to use it yet. It will probably happen soon
<br />
though.
<br />
<br />
</p>
<h4>Building GNU Boot</h4>
<p>
<br />
How to build GNU Boot has changed a lot since GNU Boot 0.1 RC3.
<br />
<br />
Before Guix could only be optionally used to build the website.
<br />
<br />
In addition to that, Guix is now integrated in the build system so we
<br />
can now rely on Guix packages to build GNU Boot images. This also
<br />
means that you need to install Guix to build GNU Boot images.
<br />
<br />
We currently use Guix packages to build some tests. We also build some
<br />
installation utilities for the I945 ThinkPads (ThinkPad X60, X60s,
<br />
X60T and T60) but we don't have documentation for less technical
<br />
people yet on how to use them. We also would need help for testing
<br />
these computers as we have no idea if they still work fine or which
<br />
fully free distributions still work on them in practice.
<br />
<br />
We now also support the './configure' and 'make' commands to build GNU
<br />
Boot but not yet the 'make install' command as to work we would need
<br />
to adapt many of the scripts that are used during the build to be
<br />
compatible with that.
<br />
<br />
There is also less visible work that was done, like cleaning up a lot
<br />
of code, adding tests for code quality, documenting a bit the GNU Boot
<br />
source code structure, and so on.
<br />
<br />
Work on making GNU Boot reproducible also started. See
<br />
<a href="https://reproducible-builds.org/">https://reproducible-builds.org/</a> or
<br />
<a href="https://en.wikipedia.org/wiki/Reproducible_builds">https://en.wikipedia.org/wiki/Reproducible_builds</a> for more detail on
<br />
the issue.
<br />
<br />
We took an extremely strict approach and put the checksum of some of
<br />
the things we build directly into GNU Boot and verify it the checksum
<br />
during the compilation. This enables us to automatically detect
<br />
issues without having to do anything.
<br />
<br />
We started to enable that for easy things, and we also added the
<br />
infrastructure to also use that in Guix packages as well by validating
<br />
one of the packages we use during automatic testing.
<br />
<br />
However at one point this guix package stopped being
<br />
reproducible. Since we wanted to keep that code (especially as it was
<br />
showing a good example of how to do it), we fixed the bug instead of
<br />
removing the test.
<br />
<br />
This then helped us detect a very subtle and interesting bug in one of
<br />
the components we use for automatic tests.
<br />
<br />
The bug could not be caught during testing because some time
<br />
information stored inside the FAT32 file system has a granularity of a
<br />
day, and since all the testing happened the same day, it was caught
<br />
only later on.
<br />
<br />
This bug was then fixed and the details are in the fix[1]. A bug
<br />
report was also opened upstream because bugs were found in diffoscope
<br />
along the way[2]. We still need to do some testing though to
<br />
understand if the bug is in diffoscope or one of the underlying
<br />
libraries (libguestfs) and then to report the remaining bugs to the
<br />
distributions we used during this work.
<br />
<br />
We also made it easier to update the checksum in the Guix package. If
<br />
you package software with Guix, this change is also a good example of
<br />
how not to break the '--without-tests' option when you override the
<br />
tests in the package you contribute. The commit message[3] and the
<br />
change have more details and references on all that.
<br />
<br />
[1]<a href="https://git.savannah.gnu.org/cgit/gnuboot.git/commit/?id=4c3de49fbb3b43940b43f8fdccc8e51ee7df8f46">https://git.savannah.gnu.org/cgit/gnuboot.git/commit/?id=4c3de49fbb3b43940b43f8fdccc8e51ee7df8f46</a>
<br />
[2]<a href="https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/390">https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/390</a>
<br />
[3]<a href="https://git.savannah.gnu.org/cgit/gnuboot.git/commit/?id=40fcb94e2f7ab1df8d320f78311e623f801d8602">https://git.savannah.gnu.org/cgit/gnuboot.git/commit/?id=40fcb94e2f7ab1df8d320f78311e623f801d8602</a>
<br />
<br />
</p>
<h4>LVM2 bug</h4>
<p>
<br />
WodeShengli reported a very important bug[1]: GNU Boot images with
<br />
GRUB can't find LVM2 partitions if the partition itself is not
<br />
encrypted. For instance if you have LVM2 and no encryption at all or
<br />
if the disk is encrypted and that on top you have LVM2, GNU Boot will
<br />
not find the partition.
<br />
<br />
Since this is an extremely serious usability issue (because images
<br />
with GRUB are supposed to work out of the box) we spent time to fix
<br />
it.
<br />
<br />
The issue was that the GRUB configuration we ship hardcoded the name
<br />
of the LVM volumes to try to boot from. Fixing it required to be able
<br />
loop over all the partitions being found, but we found no command to
<br />
do that in GRUB (which is probably why the LVM partition names were
<br />
hardcoded in the first place).
<br />
<br />
So we started adding GRUB command options to do that but while the
<br />
code worked fine, it didn't integrate in GRUB well. So we contacted
<br />
GRUB looking for help as we would have needed to upstream our command
<br />
option in GRUB anyway.
<br />
<br />
And we were told that GRUB already had a way to do what we were
<br />
looking for so we used that to fix the issue.
<br />
<br />
We also added tests that automatically download the Trisquel installer
<br />
and installs Trisquel with LVM2 and test if GNU Boot can boot the new
<br />
Trisquel installation[2].
<br />
<br />
While this test is skipped for 32bit computers, it is still good to
<br />
have as some people will run it. The test also paves the way to add
<br />
more tests that would enable us to improve further the GRUB
<br />
configuration without breaking the boot.
<br />
<br />
[1]<a href="https://savannah.gnu.org/bugs/index.php?65663">https://savannah.gnu.org/bugs/index.php?65663</a>
<br />
[2]<a href="https://git.savannah.gnu.org/cgit/gnuboot.git/commit/?id=860b00bf1e798d86c8bb2a70d77633599dfa1da2">https://git.savannah.gnu.org/cgit/gnuboot.git/commit/?id=860b00bf1e798d86c8bb2a70d77633599dfa1da2</a>
<br />
[3]<a href="https://git.savannah.gnu.org/cgit/gnuboot.git/commit/?id=9cc02ddde1e164fabfbddc8bbd3832ef9468d92d">https://git.savannah.gnu.org/cgit/gnuboot.git/commit/?id=9cc02ddde1e164fabfbddc8bbd3832ef9468d92d</a><br />
</p> Sat, 23 Nov 2024 19:05:25 +0000parallel @ Savannah: GNU Parallel 20241122 ('Ahoo Daryaei') releasedhttps://savannah.gnu.org/news/?id=10696
https://savannah.gnu.org/news/?id=10696
<p>GNU Parallel 20241122 ('Ahoo Daryaei') has been released. It is available for download at: lbry://@GnuParallel:4
<br />
<br />
Quote of the month:
<br />
<br />
GNU parallel is so satisfying
<br />
-- James Coman @jcoman.bsky.social
<br />
<br />
New in this release:
<br />
</p>
<ul>
<li>--pipe --block works similar to --pipepart --block if --block size is negative.
</li>
<li>DBURLs can be written with / instead of %2F for sqlite and CSV.
</li>
<li>Bug fixes and man page updates.
</li>
</ul>
<p>News about GNU Parallel:
<br />
</p>
<ul>
<li>Embarrassingly GNU parallel <a href="https://dengin.xyz/blog/2024/10/24/embarrassingly-gnu-parallel/">https://dengin.xyz/blog/2024/10/24/embarrassingly-gnu-parallel/</a>
</li>
<li>GNU Parallel for Your Terminal Tasks <a href="https://erolrecep.github.io/posts/gnuparallel_for_your_terminal_tasks/">https://erolrecep.github.io/posts/gnuparallel_for_your_terminal_tasks/</a>
</li>
<li>How to leverage GNU parallel to utilize multiple cores while running AUGUSTUS <a href="https://lifescienceshub.wixsite.com/lifesciencehub/post/how-to-leverage-gnu-parallel-to-utilize-multiple-cores-while-running-augustus">https://lifescienceshub.wixsite.com/lifesciencehub/post/how-to-leverage-gnu-parallel-to-utilize-multiple-cores-while-running-augustus</a>
</li>
<li>GNU Parallel: The Good Parts <a href="https://diekmeier.de/posts/2024-11-17-gnu-parallel/">https://diekmeier.de/posts/2024-11-17-gnu-parallel/</a>
</li>
<li>Put your CPU to work with GNU Parallel <a href="https://www.redhat.com/en/blog/gnu-parallel">https://www.redhat.com/en/blog/gnu-parallel</a>
</li>
</ul>
<p>
<br />
GNU Parallel - For people who live life in the parallel lane.
<br />
<br />
If you like GNU Parallel record a video testimonial: Say who you are, what you use GNU Parallel for, how it helps you, and what you like most about it. Include a command that uses GNU Parallel if you feel like it.
<br />
<br />
<br />
</p>
<h2>About GNU Parallel</h2>
<p>
<br />
GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.
<br />
<br />
If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.
<br />
<br />
GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.
<br />
<br />
For example you can run this to convert all jpeg files into png and gif files and have a progress bar:
<br />
<br />
parallel --bar convert {1} {1.}.{2} ::: *.jpg ::: png gif
<br />
<br />
Or you can generate big, medium, and small thumbnails of all jpeg files in sub dirs:
<br />
<br />
find . -name '*.jpg' |
<br />
parallel convert -geometry {2} {1} {1//}/thumb{2}_{1/} :::: - ::: 50 100 200
<br />
<br />
You can find more about GNU Parallel at: <a href="http://www.gnu.org/s/parallel/">http://www.gnu.org/s/parallel/</a>
<br />
<br />
You can install GNU Parallel in just 10 seconds with:
<br />
<br />
$ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \
<br />
fetch -o - <a href="http://pi.dk/3">http://pi.dk/3</a> ) > install.sh
<br />
$ sha1sum install.sh | grep 883c667e01eed62f975ad28b6d50e22a
<br />
12345678 883c667e 01eed62f 975ad28b 6d50e22a
<br />
$ md5sum install.sh | grep cc21b4c943fd03e93ae1ae49e28573c0
<br />
cc21b4c9 43fd03e9 3ae1ae49 e28573c0
<br />
$ sha512sum install.sh | grep ec113b49a54e705f86d51e784ebced224fdff3f52
<br />
79945d9d 250b42a4 2067bb00 99da012e c113b49a 54e705f8 6d51e784 ebced224
<br />
fdff3f52 ca588d64 e75f6033 61bd543f d631f592 2f87ceb2 ab034149 6df84a35
<br />
$ bash install.sh
<br />
<br />
Watch the intro video on <a href="http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1">http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1</a>
<br />
<br />
Walk through the tutorial (man parallel_tutorial). Your command line will love you for it.
<br />
<br />
When using programs that use GNU Parallel to process data for publication please cite:
<br />
<br />
O. Tange (2018): GNU Parallel 2018, March 2018, <a href="https://doi.org/10.5281/zenodo.1146014">https://doi.org/10.5281/zenodo.1146014</a>.
<br />
<br />
If you like GNU Parallel:
<br />
<br />
</p>
<ul>
<li>Give a demo at your local user group/team/colleagues
</li>
<li>Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists
</li>
<li>Get the merchandise <a href="https://gnuparallel.threadless.com/designs/gnu-parallel">https://gnuparallel.threadless.com/designs/gnu-parallel</a>
</li>
<li>Request or write a review for your favourite blog or magazine
</li>
<li>Request or build a package for your favourite distribution (if it is not already there)
</li>
<li>Invite me for your next conference
</li>
</ul>
<p>
<br />
If you use programs that use GNU Parallel for research:
<br />
<br />
</p>
<ul>
<li>Please cite GNU Parallel in you publications (use --citation)
</li>
</ul>
<p>
<br />
If GNU Parallel saves you money:
<br />
<br />
</p>
<ul>
<li>(Have your company) donate to FSF <a href="https://my.fsf.org/donate/">https://my.fsf.org/donate/</a>
</li>
</ul>
<p>
<br />
<br />
</p>
<h2>About GNU SQL</h2>
<p>
<br />
GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.
<br />
<br />
The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.
<br />
<br />
When using GNU SQL for a publication please cite:
<br />
<br />
O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.
<br />
<br />
<br />
</p>
<h2>About GNU Niceload</h2>
<p>
<br />
GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.<br />
</p> Fri, 22 Nov 2024 22:22:18 +0000FSF Events: Free Software Directory meeting on IRC: Friday, November 22, starting at 12:00 EST (17:00 UTC)http://www.fsf.org/events/fsd-2024-11-22-irc
http://www.fsf.org/events/fsd-2024-11-22-irc
Join the FSF and friends on Friday, November 22 from 12:00 to 15:00 EST (17:00 to 20:00 UTC) to help improve the Free Software Directory. Thu, 21 Nov 2024 17:30:00 +0000www-zh-cn @ Savannah: Welcome our new member - bingchuanjuzihttps://savannah.gnu.org/news/?id=10694
https://savannah.gnu.org/news/?id=10694
<p>Hi, All:
<br />
<br />
Please join me in welcoming our new member:
<br />
<br />
User Details:
<br />
-------------
<br />
Name: Haoran Du
<br />
Login: bingchuanjuzi
<br />
Email: <a href="mailto:[email protected]">[email protected]</a>
<br />
<br />
I wish bingchuanjuzi a wonderful journey in GNU CTT.
<br />
<br />
Happy Hacking
<br />
wxie<br />
</p> Thu, 21 Nov 2024 02:01:47 +0000libtool @ Savannah: libtool-2.5.4 released [stable]https://savannah.gnu.org/news/?id=10693
https://savannah.gnu.org/news/?id=10693
<p>Libtoolers!
<br />
<br />
The Libtool Team is pleased to announce the release of libtool 2.5.4.
<br />
<br />
GNU Libtool hides the complexity of using shared libraries behind a
<br />
consistent, portable interface. GNU Libtool ships with GNU libltdl, which
<br />
hides the complexity of loading dynamic runtime libraries (modules)
<br />
behind a consistent, portable interface.
<br />
<br />
There have been 49 commits by 16 people in the 8 weeks since 2.5.3.
<br />
<br />
See the NEWS below for a brief summary.
<br />
<br />
Thanks to everyone who has contributed!
<br />
The following people contributed changes to this release:
<br />
<br />
Adrien Destugues (1)
<br />
Alastair McKinstry (6)
<br />
Bruno Haible (1)
<br />
Ileana Dumitrescu (27)
<br />
Jerome Duval (1)
<br />
Jonathan Nieder (2)
<br />
Joshua Root (1)
<br />
Khalid Masum (1)
<br />
Markus Mützel (1)
<br />
Martin Storsjö (1)
<br />
Richard Purdie (1)
<br />
Sergey Poznyakoff (1)
<br />
Tim Schumacher (1)
<br />
Vincent Lefevre (2)
<br />
mintsuki (1)
<br />
streaksu (1)
<br />
<br />
Ileana
<br />
[on behalf of the libtool maintainers]
<br />
==================================================================
<br />
<br />
Here is the GNU libtool home page:
<br />
<a href="https://gnu.org/s/libtool/">https://gnu.org/s/libtool/</a>
<br />
<br />
For a summary of changes and contributors, see:
<br />
<a href="https://git.sv.gnu.org/gitweb/?p=libtool.git;a=shortlog;h=v2.5.4">https://git.sv.gnu.org/gitweb/?p=libtool.git;a=shortlog;h=v2.5.4</a>
<br />
or run this command from a git-cloned libtool directory:
<br />
git shortlog v2.5.3..v2.5.4
<br />
<br />
Here are the compressed sources:
<br />
<a href="https://ftpmirror.gnu.org/libtool/libtool-2.5.4.tar.gz">https://ftpmirror.gnu.org/libtool/libtool-2.5.4.tar.gz</a> (2.0MB)
<br />
<a href="https://ftpmirror.gnu.org/libtool/libtool-2.5.4.tar.xz">https://ftpmirror.gnu.org/libtool/libtool-2.5.4.tar.xz</a> (1.1MB)
<br />
<br />
Here are the GPG detached signatures:
<br />
<a href="https://ftpmirror.gnu.org/libtool/libtool-2.5.4.tar.gz.sig">https://ftpmirror.gnu.org/libtool/libtool-2.5.4.tar.gz.sig</a>
<br />
<a href="https://ftpmirror.gnu.org/libtool/libtool-2.5.4.tar.xz.sig">https://ftpmirror.gnu.org/libtool/libtool-2.5.4.tar.xz.sig</a>
<br />
<br />
Use a mirror for higher download bandwidth:
<br />
<a href="https://www.gnu.org/order/ftp.html">https://www.gnu.org/order/ftp.html</a>
<br />
<br />
Here are the SHA1 and SHA256 checksums:
<br />
<br />
77227188ead223ed8ba447301eda3761cb68ef57 libtool-2.5.4.tar.gz
<br />
2o67LOTc9GuQCY2vliz/po9LT2LqYPeY0O8Skp7eat8= libtool-2.5.4.tar.gz
<br />
9781a113fe6af1b150571410b29d3eee2e792516 libtool-2.5.4.tar.xz
<br />
+B9YYGZrC8fYS63e+mDRy5+m/OsjmMw7rKavqmAmZnU= libtool-2.5.4.tar.xz
<br />
<br />
Verify the base64 SHA256 checksum with cksum -a sha256 --check
<br />
from coreutils-9.2 or OpenBSD's cksum since 2007.
<br />
<br />
Use a .sig file to verify that the corresponding file (without the
<br />
.sig suffix) is intact. First, be sure to download both the .sig file
<br />
and the corresponding tarball. Then, run a command like this:
<br />
<br />
gpg --verify libtool-2.5.4.tar.gz.sig
<br />
<br />
The signature should match the fingerprint of the following key:
<br />
<br />
pub rsa4096 2021-09-23 [SC]
<br />
FA26 CA78 4BE1 8892 7F22 B99F 6570 EA01 146F 7354
<br />
uid Ileana Dumitrescu <[email protected]>
<br />
uid Ileana Dumitrescu <[email protected]>
<br />
<br />
If that command fails because you don't have the required public key,
<br />
or that public key has expired, try the following commands to retrieve
<br />
or refresh it, and then rerun the 'gpg --verify' command.
<br />
<br />
gpg --locate-external-key <a href="mailto:[email protected]">[email protected]</a>
<br />
<br />
gpg --recv-keys 6570EA01146F7354
<br />
<br />
wget -q -O- '<a href="https://savannah.gnu.org/project/release-gpgkeys.php?group=libtool&download=1">https://savannah.gnu.org/project/release-gpgkeys.php?group=libtool&download=1</a>' | gpg --import -
<br />
<br />
As a last resort to find the key, you can try the official GNU
<br />
keyring:
<br />
<br />
wget -q <a href="https://ftp.gnu.org/gnu/gnu-keyring.gpg">https://ftp.gnu.org/gnu/gnu-keyring.gpg</a>
<br />
gpg --keyring gnu-keyring.gpg --verify libtool-2.5.4.tar.gz.sig
<br />
<br />
This release was bootstrapped with the following tools:
<br />
Autoconf 2.72e
<br />
Automake 1.17
<br />
Gnulib v1.0-1108-gea58a72d4d
<br />
<br />
NEWS
<br />
<br />
</p>
<ul>
<li>Noteworthy changes in release 2.5.4 (2024-11-20) [stable]
</li>
</ul>
<p>
<br />
** New features:
<br />
<br />
- New libtool command line flag, --no-finish, to skip executing
<br />
finish_cmds that would alter the shared library cache during testing.
<br />
<br />
- New libtool command line flag, --reorder-cache=DIRS, to reorder the
<br />
shared library cache, only on OpenBSD.
<br />
<br />
** Bug fixes:
<br />
<br />
- Fix incorrect use of workarounds designed for Darwin versions that
<br />
don't have -single_module support.
<br />
<br />
- Fix errors when executing 'make distclean' and 'make maintainer-clean'.
<br />
<br />
- Fix bug where the constructed rpath omit directories, instead of
<br />
appending them to the end.
<br />
<br />
- Fix configure error for when variable 'multlib' is unset.
<br />
<br />
- Fix searching for -L in link paths being over-greedy and incorrectly
<br />
handling paths with -L in them.
<br />
<br />
- Avoid using AC_TRY_EVAL macro, "dangerous and undocumented".
<br />
<br />
- Fix linking libraries at runtime with tcc by adding run path.
<br />
<br />
- Fix path comparison by removing trailing slashes on install commands.
<br />
<br />
- Fix linking for mingw with lld by prefering response files over the
<br />
linker script.
<br />
<br />
- Fix '-Fe' usage with linking in MSVC.
<br />
<br />
- Fix '--no-warnings' flag.
<br />
<br />
- Fix handling xlc(1)-specific options.
<br />
<br />
- Fix Haiku support.
<br />
<br />
** Changes in supported systems or compilers:
<br />
<br />
- Support additional flang-based compilers, 'f18' and 'f95'.
<br />
<br />
- Support for 'netbsdelf*-gnu'.
<br />
<br />
- Support for '*-mlibc', and subsequently Ironclad and Managarm.
<br />
<br />
- Support for SerenityOS.
<br />
<br />
- Support for wasm32-emscripten.
<br />
<br />
Enjoy!<br />
</p> Wed, 20 Nov 2024 20:27:33 +0000FSF Blogs: Winter holidays are coming: Time for a free software talehttp://www.fsf.org/blogs/community/wendell-the-elf-and-the-shoetool
http://www.fsf.org/blogs/community/wendell-the-elf-and-the-shoetool
Tue, 19 Nov 2024 16:55:00 +0000FSF Blogs: FSD meeting recap 2024-11-15http://www.fsf.org/blogs/licensing/fsd-meeting-recap-2024-11-15
http://www.fsf.org/blogs/licensing/fsd-meeting-recap-2024-11-15
Check out the important work our volunteers accomplished at today's Free Software Directory (FSD) IRC meeting. Fri, 15 Nov 2024 21:52:13 +0000FSF Blogs: Keep warm with GNU winter swaghttp://www.fsf.org/blogs/community/keep-warm-with-gnu-winter-swag
http://www.fsf.org/blogs/community/keep-warm-with-gnu-winter-swag
Fri, 15 Nov 2024 21:30:00 +0000FSF Blogs: TAKE ACTION: Block the PERA and PREVAIL Act - A major step back for software freedomhttp://www.fsf.org/blogs/community/pera-act-votes-tomorrow-a-major-step-back-for-software-freedom
http://www.fsf.org/blogs/community/pera-act-votes-tomorrow-a-major-step-back-for-software-freedom
Wed, 13 Nov 2024 20:55:00 +0000FSF Events: Free Software Directory meeting on IRC: Friday, November 11, starting at 12:00 EST (17:00 UTC)http://www.fsf.org/events/fsd-2024-11-15-irc
http://www.fsf.org/events/fsd-2024-11-15-irc
Join the FSF and friends on Friday, November 15 from 12:00 to 15:00 EST (17:00 to 20:00 UTC) to help improve the Free Software Directory. Tue, 12 Nov 2024 15:44:38 +0000GNU Guix: Take the Guix User and Contributor Surveyhttps://guix.gnu.org/blog/2024/guix-user-contributor-survey-2024//
https://guix.gnu.org/blog/2024/guix-user-contributor-survey-2024//
<p>To understand the views of the Guix community we're running a survey that we'd
love <strong>you</strong> to take part in! The
<a href="https://guix.limesurvey.net/">Guix User and Contributor Survey</a> is live
now, and should take about 10 minutes to fill out. Perfect for doing with a cup
of tea and a biscuit!</p><p>The Guix project continues to grow and change, with new contributors and users
joining our community. We decided to run this survey as it's the best way to
gather good quality feedback across the widest cross-section of the community.
Of course, there's lots of interesting topics a survey could ask about! We
decided to focus on how Guix is used, and how contributors take part in the
project.</p><p>The survey is being run on
<a href="https://en.wikipedia.org/wiki/LimeSurvey">LimeSurvey</a> which is a Free Software
project and has been used by many other projects for similar surveys. The
survey's hosted on the <a href="https://www.limesurvey.org/">LimeSurvey SaaS</a> so that we
don't have the additional task of operating the software. No personal data is
asked for (e.g. email addresses), no tracking data is being
collected (e.g. IP addresses) and the entries are anonymised.</p><p>We'll be making the results and the anonymised data available under the
<a href="https://creativecommons.org/public-domain/cc0/">Creative Commons CCO</a>:
that way anyone can analyse the data for further insights.</p><p>We hope the results of the survey will be used to understand both the Guix
project's strengths and areas we can improve. Which is why your input is
so important. If you can, please take the survey!</p><p><a href="https://guix.limesurvey.net/">Take the survey now!</a></p> Sun, 10 Nov 2024 10:01:00 +0000FSF Events: Free Software Directory meeting on IRC: Friday, November 8, starting at 12:00 EST (17:00 UTC)http://www.fsf.org/events/fsd-2024-11-08-irc
http://www.fsf.org/events/fsd-2024-11-08-irc
Join the FSF and friends on Friday, November 8 from 12:00 to 15:00 EST (17:00 to 20:00 UTC) to help improve the Free Software Directory. Tue, 05 Nov 2024 14:35:04 +0000FSF Events: FSF community meetup in Seattlehttp://www.fsf.org/events/fsf-community-meetup-in-seattle
http://www.fsf.org/events/fsf-community-meetup-in-seattle
Wed, 30 Oct 2024 16:50:04 +0000FSF Events: Free Software Directory meeting on IRC: Friday, November 1, starting at 12:00 EDT (16:00 UTC)http://www.fsf.org/events/fsd-2024-11-01-irc
http://www.fsf.org/events/fsd-2024-11-01-irc
Join the FSF and friends on Friday, November 1 from 12:00 to 15:00 EDT (16:00 to 19:00 UTC) to help improve the Free Software Directory. Tue, 29 Oct 2024 19:43:44 +0000GNUnet News: GNUnet 0.22.2https://gnunet.org/en/news/2024-10-0.22.2.html
https://gnunet.org/en/news/2024-10-0.22.2.html
<article id="newspost-content">
<h1>
GNUnet 0.22.2
</h1>
<p>
This is a bugfix release for gnunet 0.22.1.
It fixes some regressions and minor bugs.
</p>
<p>
</p>
<h4>
Links
</h4>
<ul>
<li>
Source:
<a href="https://ftpmirror.gnu.org/gnunet/gnunet-0.22.2.tar.gz">
https://ftpmirror.gnu.org/gnunet/gnunet-0.22.2.tar.gz
</a>
(
<a href="https://ftpmirror.gnu.org/gnunet/gnunet-0.22.2.tar.gz.sig">
https://ftpmirror.gnu.org/gnunet/gnunet-0.22.2.tar.gz.sig
</a>
)
</li>
<li>
Source (meson):
<a href="https://buildbot.gnunet.org/releases/gnunet-0.22.2-meson.tar.gz">
https://buildbot.gnunet.org/releases/gnunet-0.22.2-meson.tar.gz
</a>
(
<a href="https://buildbot.gnunet.org/releases/gnunet-0.22.2-meson.tar.gz.sig">
https://buildbot.gnunet.org/releases/gnunet-0.22.2-meson.tar.gz.sig
</a>
)
</li>
<li>
Detailed list of changes:
<a href="https://git.gnunet.org/gnunet.git/log/?h=v0.22.2">
https://git.gnunet.org/gnunet.git/log/?h=v0.22.2
</a>
</li>
<li>
NEWS:
<a href="https://git.gnunet.org/gnunet.git/tree/NEWS?h=v0.22.2">
https://git.gnunet.org/gnunet.git/tree/NEWS?h=v0.22.2
</a>
</li>
<li>
The list of closed issues in the bug tracker:
<a href="https://bugs.gnunet.org/changelog_page.php?version_id=459">
https://bugs.gnunet.org/changelog_page.php?version_id=459
</a>
</li>
</ul>
<p>
The GPG key used to sign is:
<a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">
3D11063C10F98D14BD24D1470B0998EF86F59B6A
</a>
</p>
<p>
Note that due to mirror synchronization, not all links may be functional
early after the release. For direct access try
<a href="https://ftp.gnu.org/gnu/gnunet/">
https://ftp.gnu.org/gnu/gnunet/
</a>
</p>
</article> Mon, 28 Oct 2024 23:00:00 +0000Parabola GNU/Linux-libre: manual intervention required for local pacman repositoriestag:parabolagnulinux.org,2024-10-24:/news/manual-intervention-required-for-local-pacman-repositories/
https://parabolagnulinux.org/news/manual-intervention-required-for-local-pacman-repositories/
<p>NOTE: pacman v7 is currently in [libre-testing]; but it will be promoted to libre soon</p>
<p>from arch:</p>
<p>With the release of [version 7.0.0] pacman has added support for
downloading packages as a separate user with dropped privileges.</p>
<p>For users with local repos however this might imply that the download
user does not have access to the files in question, which can be fixed
by assigning the files and folder to the <code>alpm</code> group and ensuring the
executable bit (<code>+x</code>) is set on the folders in question.</p>
<pre><code>$ chown :alpm -R /path/to/local/repo
</code></pre>
<p>Remember to [merge the .pacnew] files to apply the new default.</p>
<p>Pacman also introduced [a change] to improve checksum stability for
git repos that utilize <code>.gitattributes</code> files. This might require a
one-time checksum change for <code>PKGBUILD</code>s that use git sources.</p> Thu, 24 Oct 2024 06:11:30 +0000www-ru @ Savannah: Разговор о свободных программах в Москвеhttps://savannah.gnu.org/news/?id=10688
https://savannah.gnu.org/news/?id=10688
<p>Компьютеры и сети содействуют нам в борьбе за свободу: они помогают посвятить время и силы важным общественным инициативам, организовывать протесты, защищаться от цензуры.
<br />
<br />
Но свободны ли наши компьютеры? И свободны ли мы как пользователи?
<br />
<br />
Обсудим эти вопросы 25 октября в 19:00 в <a href="https://ospace.org/">Открытом пространстве</a> с Глебом Ерофеевым — активистом движения за свободные программы и волонтёром проекта "ГНУ", который в 1983 году запустил философ и активист Ричард Столлман.
<br />
<br />
Команда проекта "ГНУ" занимается разработкой свободного софта и техноэтическим активизмом, чтобы дать пользователям контроль над их компьютерами и искоренить несправедливость, которую приносят в общество собственнические программы.
<br />
<br />
Адрес: Плетешковский пер., 8с1 (м. "Бауманская").
<br />
<br />
Участие бесплатно. Приветствуются пожертвования в пользу пространства.<br />
</p> Wed, 23 Oct 2024 13:17:54 +0000FSF News: FSF is working on freedom in machine learning applicationshttp://www.fsf.org/news/fsf-is-working-on-freedom-in-machine-learning-applications
http://www.fsf.org/news/fsf-is-working-on-freedom-in-machine-learning-applications
BOSTON (October 22, 2024) -- The Free Software Foundation (FSF) has announced today that it is working on a statement of criteria for free machine learning applications, which will require the software, as well as the raw training data and associated scripts, to grant users the four freedoms. Tue, 22 Oct 2024 21:40:00 +0000FSF News: FSF associate members to assist in review of current board membershttp://www.fsf.org/news/fsf-associate-members-to-assist-in-review-current-board-members
http://www.fsf.org/news/fsf-associate-members-to-assist-in-review-current-board-members
Mon, 21 Oct 2024 20:00:00 +0000parallel @ Savannah: GNU Parallel 20241022 ('Sinwar Nasrallah') released [stable]https://savannah.gnu.org/news/?id=10687
https://savannah.gnu.org/news/?id=10687
<p>GNU Parallel 20241022 ('Sinwar Nasrallah') has been released. It is available for download at: lbry://@GnuParallel:4
<br />
<br />
Quote of the month:
<br />
<br />
GNU Parallel is one of the most helpful tools I've been using recently, and it's just something like: parallel -j4 'gzip {}' ::: folder/*.csv
<br />
-- Milton Pividori @miltondp@twitter
<br />
<br />
New in this release:
<br />
</p>
<ul>
<li>No new features. This is a candidate for a stable release.
</li>
<li>Bug fixes and man page updates.
</li>
</ul>
<p>
<br />
News about GNU Parallel:
<br />
</p>
<ul>
<li>Separate arguments with a custom separator in GNU Parallel <a href="https://boxofcuriosities.co.uk/post/separate-arguments-with-a-custom-separator-in-gnu-parallel">https://boxofcuriosities.co.uk/post/separate-arguments-with-a-custom-separator-in-gnu-parallel</a>
</li>
<li>GNU parallel is underrated <a href="https://amontalenti.com/2021/11/10/parallel">https://amontalenti.com/2021/11/10/parallel</a>
</li>
<li>Unlocking the Power of Supercomputers: My HPC Adventure with 2800 Cores and GNU Parallel <a href="https://augalip.com/2024/03/10/unlocking-the-power-of-supercomputers-my-hpc-adventure-with-2800-cores-and-gnu-parallel/">https://augalip.com/2024/03/10/unlocking-the-power-of-supercomputers-my-hpc-adventure-with-2800-cores-and-gnu-parallel/</a>
</li>
<li>Converting WebP Images to PNG Using parallel and dwebp <a href="https://bytefreaks.net/gnulinux/bash/converting-webp-images-to-png-using-parallel-and-dwebp">https://bytefreaks.net/gnulinux/bash/converting-webp-images-to-png-using-parallel-and-dwebp</a>
</li>
</ul>
<p>
<br />
GNU Parallel - For people who live life in the parallel lane.
<br />
<br />
If you like GNU Parallel record a video testimonial: Say who you are, what you use GNU Parallel for, how it helps you, and what you like most about it. Include a command that uses GNU Parallel if you feel like it.
<br />
<br />
<br />
</p>
<h2>About GNU Parallel</h2>
<p>
<br />
GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.
<br />
<br />
If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.
<br />
<br />
GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.
<br />
<br />
For example you can run this to convert all jpeg files into png and gif files and have a progress bar:
<br />
<br />
parallel --bar convert {1} {1.}.{2} ::: *.jpg ::: png gif
<br />
<br />
Or you can generate big, medium, and small thumbnails of all jpeg files in sub dirs:
<br />
<br />
find . -name '*.jpg' |
<br />
parallel convert -geometry {2} {1} {1//}/thumb{2}_{1/} :::: - ::: 50 100 200
<br />
<br />
You can find more about GNU Parallel at: <a href="http://www.gnu.org/s/parallel/">http://www.gnu.org/s/parallel/</a>
<br />
<br />
You can install GNU Parallel in just 10 seconds with:
<br />
<br />
$ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \
<br />
fetch -o - <a href="http://pi.dk/3">http://pi.dk/3</a> ) > install.sh
<br />
$ sha1sum install.sh | grep 883c667e01eed62f975ad28b6d50e22a
<br />
12345678 883c667e 01eed62f 975ad28b 6d50e22a
<br />
$ md5sum install.sh | grep cc21b4c943fd03e93ae1ae49e28573c0
<br />
cc21b4c9 43fd03e9 3ae1ae49 e28573c0
<br />
$ sha512sum install.sh | grep ec113b49a54e705f86d51e784ebced224fdff3f52
<br />
79945d9d 250b42a4 2067bb00 99da012e c113b49a 54e705f8 6d51e784 ebced224
<br />
fdff3f52 ca588d64 e75f6033 61bd543f d631f592 2f87ceb2 ab034149 6df84a35
<br />
$ bash install.sh
<br />
<br />
Watch the intro video on <a href="http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1">http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1</a>
<br />
<br />
Walk through the tutorial (man parallel_tutorial). Your command line will love you for it.
<br />
<br />
When using programs that use GNU Parallel to process data for publication please cite:
<br />
<br />
O. Tange (2018): GNU Parallel 2018, March 2018, <a href="https://doi.org/10.5281/zenodo.1146014">https://doi.org/10.5281/zenodo.1146014</a>.
<br />
<br />
If you like GNU Parallel:
<br />
<br />
</p>
<ul>
<li>Give a demo at your local user group/team/colleagues
</li>
<li>Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists
</li>
<li>Get the merchandise <a href="https://gnuparallel.threadless.com/designs/gnu-parallel">https://gnuparallel.threadless.com/designs/gnu-parallel</a>
</li>
<li>Request or write a review for your favourite blog or magazine
</li>
<li>Request or build a package for your favourite distribution (if it is not already there)
</li>
<li>Invite me for your next conference
</li>
</ul>
<p>
<br />
If you use programs that use GNU Parallel for research:
<br />
<br />
</p>
<ul>
<li>Please cite GNU Parallel in you publications (use --citation)
</li>
</ul>
<p>
<br />
If GNU Parallel saves you money:
<br />
<br />
</p>
<ul>
<li>(Have your company) donate to FSF <a href="https://my.fsf.org/donate/">https://my.fsf.org/donate/</a>
</li>
</ul>
<p>
<br />
<br />
</p>
<h2>About GNU SQL</h2>
<p>
<br />
GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.
<br />
<br />
The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.
<br />
<br />
When using GNU SQL for a publication please cite:
<br />
<br />
O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.
<br />
<br />
<br />
</p>
<h2>About GNU Niceload</h2>
<p>
<br />
GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.<br />
</p> Mon, 21 Oct 2024 19:31:05 +0000GNU Guix: Build User Takeover Vulnerability (CVE-2024-52867)https://guix.gnu.org/blog/2024/build-user-takeover-vulnerability//
https://guix.gnu.org/blog/2024/build-user-takeover-vulnerability//
<p>A security issue, known as <a href="https://nvd.nist.gov/vuln/detail/CVE-2024-52867"><strong>CVE-2024-52867</strong></a>, has been identified in
<a href="https://guix.gnu.org/en/manual/devel/en/html_node/Invoking-guix_002ddaemon.html"><code>guix-daemon</code></a>
which allows for a local user to gain the privileges of any of the build users
and subsequently use this to manipulate the output of any build. You
are strongly advised to <strong>upgrade your daemon now</strong> (see instructions
below), especially on multi-user systems.</p><p>This exploit requires the ability to start a derivation build and the ability to
run arbitrary code with access to the store in the root PID namespace on the
machine the build occurs on. As such, this represents an increased risk
primarily to multi-user systems and systems using dedicated privilege-separation
users for various daemons: without special sandboxing measures, any process of
theirs can take advantage of this vulnerability.</p><h1>Vulnerability</h1><p>For a very long time, <code>guix-daemon</code> <a href="https://git.savannah.gnu.org/cgit/guix.git/tree/nix/libstore/build.cc?id=e951a375a01262dfd470ee343baf7c41dbc6ff58#n1371">has helpfully made the outputs of failed
derivation builds
available</a>
at the same location they were at in the build container. This has aided greatly
especially in situations where test suites require the package to already be
installed in order to run, as it allows one to re-run the test suite
interactively outside of the container when built with <code>--keep-failed</code>. This
transferral of store items from inside the chroot to the real store was
implemented with a simple <code>rename</code>, and no modification of the store item or
any files it may contain.</p><p>If an attacker starts a build of a derivation that creates a binary with the
setuid and/or setgid bit in an output directory, then, and the build fails, that
binary will be accessible unaltered for anybody on the system. The attacker or a
cooperating user can then execute the binary, gain the privileges, and from
there use a combination of signals and procfs to freeze a builder, open any file
it has open via <code>/proc/$PID/fd</code>, and overwrite it with whatever it wants. This
manipulation of builds can happen regardless of which user started the build, so
it can work not only for producing compromised outputs for commonly-used
programs before anybody else uses them, but also for compromising any builds
another user happens to start.</p><p>A related vulnerability was also discovered concerning the outputs of
<em>successful</em> builds. These were
<a href="https://git.savannah.gnu.org/cgit/guix.git/tree/nix/libstore/build.cc?id=e951a375a01262dfd470ee343baf7c41dbc6ff58#n2343">moved</a> -
also via <code>rename()</code> - outside of the container prior to having their
permissions, ownership, and timestamps
<a href="https://git.savannah.gnu.org/cgit/guix.git/tree/nix/libstore/build.cc?id=e951a375a01262dfd470ee343baf7c41dbc6ff58#n2429">canonicalized</a>. This
means that there also exists a window of time for a successful build's outputs
during which a setuid/setgid binary can be executed.</p><p>In general, any time that a build user running a build for some submitter can
get a setuid/setgid binary to a place the submitter can execute it, it is
possible for the submitter to use it to take over the build user. This situation
always occurs when <code>--disable-chroot</code> is passed to <code>guix-daemon</code>. This holds
even in the case where there are no dedicated build users, and builds happen
under the same user the daemon runs as, as happens during <code>make check</code> in the
guix repository. Consequently, if a permissive umask that allows execute
permission for untrusted users on directories all the way to a user's guix
checkout is used, an attacker can use that user's test-environment daemon to
gain control over their user while <code>make check</code> is running.</p><h1>Mitigation</h1><p>This <a href="https://issues.guix.gnu.org/73919">security issue</a> has been fixed by
<a href="https://git.savannah.gnu.org/cgit/guix.git/commit/?id=558224140dab669cabdaebabff18504a066c48d4">two</a>
<a href="https://git.savannah.gnu.org/cgit/guix.git/commit/?id=5ab3c4c1e43ebb637551223791db0ea3519986e1">commits</a>. Users
should make sure they have updated to the second commit to be protected from
this vulnerability. Upgrade instructions are in the following section. If there
is a possibility that a failed build has left a setuid/setgid binary lying
around in the store by accident, run <code>guix gc</code> to remove all failed build
outputs.</p><p>The fix was accomplished by sanitizing the permissions of all files in a failed
build output prior to moving it to the store, and also by waiting to move
successful build outputs to the store until after their permissions had been
canonicalized. The sanitizing was done in such a way as to preserve as many
non-security-critical properties of failed build outputs as possible to aid in
debugging. After applying these two commits, the <code>guix</code> package in Guix was
<a href="https://git.savannah.gnu.org/cgit/guix.git/commit/?id=5966e0fdc78771c562e0f484a22f381a77908be0">updated</a>
so that <code>guix-daemon</code> deployed using it would use the fixed version.</p><p>If you are using <code>--disable-chroot</code>, whether with dedicated build users or not,
make sure that access to your daemon's socket is restricted to trusted
users. This particularly affects anyone running <code>make check</code> and anyone running
on GNU/Hurd. The former should either manually remove execute permission for
untrusted users on their guix checkout or apply <a href="https://issues.guix.gnu.org/73924">this
patch</a>, which restricts access to the
test-environment daemon to the user running the tests. The latter should adjust
the ownership and permissions of <code>/var/guix/daemon-socket</code>, which can be done
for Guix System users using the new <code>socket-directory-{perms,group,user}</code> fields
in <a href="https://issues.guix.gnu.org/73925">this patch</a>.</p><p>A proof of concept is available at the end of this post. One can run this code
with:</p><pre><code class="language-sh">guix repl -- setuid-exposure-vuln-check.scm</code></pre><p>This will output whether the current <code>guix-daemon</code> being used is vulnerable or
not. If it is <em>not</em> vulnerable, the last line will contain <code>your system is not vulnerable</code>, otherwise the last line will contain <code>YOUR SYSTEM IS VULNERABLE</code>.</p><h1>Upgrading</h1><p>Due to the severity of this security advisory, we strongly recommend
all users to upgrade their <code>guix-daemon</code> immediately.</p><p>For Guix System, <a href="https://guix.gnu.org/manual/devel/en/html_node/Getting-Started-with-the-System.html">the
procedure</a>
is to reconfigure the system after a <code>guix pull</code>, either restarting
<code>guix-daemon</code> or rebooting. For example:</p><pre><code class="language-sh">guix pull
sudo guix system reconfigure /run/current-system/configuration.scm
sudo herd restart guix-daemon</code></pre><p>where <code>/run/current-system/configuration.scm</code> is the current system
configuration but could, of course, be replaced by a system
configuration file of a user's choice.</p><p>For Guix running as a package manager on other distributions, one
needs to <code>guix pull</code> with <code>sudo</code>, as the <code>guix-daemon</code> runs as root,
and restart the <code>guix-daemon</code> service, <a href="https://guix.gnu.org/manual/devel/en/html_node/Upgrading-Guix.html">as
documented</a>.
For example, on a system using systemd to manage services, run:</p><pre><code class="language-sh">sudo --login guix pull
sudo systemctl restart guix-daemon.service</code></pre><p>Note that for users with their distro's package of Guix (as opposed to
having used the <a href="https://guix.gnu.org/en/manual/devel/en/html_node/Binary-Installation.html">install
script</a>)
you may need to take other steps or upgrade the Guix package as per
other packages on your distro. Please consult the relevant
documentation from your distro or contact the package maintainer for
additional information or questions.</p><h1>Conclusion</h1><p>Even with the sandboxing features of modern kernels, it can be quite challenging
to synthesize a situation in which two users on the same system who are
determined to cooperate nevertheless cannot. Guix has an especially difficult
job because it needs to not only realize such a situation, but also maintain the
ability to interact with both users itself, while not allowing them to cooperate
through itself in unintended ways. Keeping failed build outputs around for
debugging introduced a vulnerability, but finding that vulnerability because of
it enabled the discovery of an additional vulnerability that would have existed
anyway, and prompted the use of mechanisms for securing access to the guix
daemon.</p><p>I would like to thank Ludovic Courtès for giving feedback on these
vulnerabilities and their fixes — discussion of which led to discovering the
vulnerable time window with successful build outputs — and also for helping me
to discover that my email server was broken.</p><h2>Proof of Concept</h2><p>Below is code to check if your <code>guix-daemon</code> is vulnerable to this exploit. Save
this file as <code>setuid-exposure-vuln-check.scm</code> and run following the instructions
above, in "Mitigation."</p><pre><code class="language-scheme">(use-modules (guix)
(srfi srfi-34))
(define maybe-setuid-file
;; Attempt to create a setuid file in the store, with one of the build
;; users as its owner.
(computed-file "maybe-setuid-file"
#~(begin
(call-with-output-file #$output (const #t))
(chmod #$output #o6000)
;; Failing causes guix-daemon to copy the output from
;; its temporary location back to the store.
(exit 1))))
(with-store store
(let* ((drv (run-with-store store
(lower-object maybe-setuid-file)))
(out (derivation->output-path drv)))
(guard (c (#t
(if (zero? (logand #o6000 (stat:perms (stat out))))
(format #t "~a is not setuid: your system is not \
vulnerable.~%"
out)
(format #t "~a is setuid: YOUR SYSTEM IS VULNERABLE.
Run 'guix gc' to remove that file and upgrade.~%"
out))))
(build-things store (list (derivation-file-name drv))))))</code></pre> Mon, 21 Oct 2024 11:00:00 +0000GNU Health: GHCon2024, the GNU Health Conference . Palermo, Italyhttps://my.gnusolidario.org/?p=2052
https://my.gnusolidario.org/2024/10/19/ghcon2024-the-gnu-health-conference-palermo-italy/
<p>Dear community:<br /><br />We’re excited to announce the IX International GNU Health Conference, that will take place in beautiful Sicily, Italy, at the University of Palermo this December 15th.</p>
<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img alt="" class="wp-image-2053" height="312" src="https://my.gnusolidario.org/wp-content/uploads/2024/10/image-1024x312.png" style="width: 584px; height: auto;" width="1024" /><figcaption class="wp-element-caption">Mount Etna rising over suburbs of Catania, Sicily (Wikimedia)</figcaption></figure></div>
<p>The GNU Health Conference (GHCon) is the annual conference that brings together enthusiasts and developers of GNU Health, the Libre digital health ecosystem. The conference will have thematic sessions, lightning talks and implementation cases to get to know the GNU Health and other Free/Libre software communities from around the world.</p>
<p>We will show the upcoming features of the Health and Hospital Information System, standards, security, privacy, the GNU Health Federation and MyGNUHealth (the Personal Health Record).</p>
<p></p>
<div class="wp-block-image">
<figure class="aligncenter size-full"><img alt="" class="wp-image-2080" height="275" src="https://my.gnusolidario.org/wp-content/uploads/2024/10/image-2.png" width="763" /><figcaption class="wp-element-caption">GHCon2024 – The IX International GNU Health Conference</figcaption></figure></div>
<p><br />The XVII International Workshop on eHealth in Emerging Economies (IWEEE) is about Social Medicine and addressing the reality of the underprivileged around the world. There will be workshops to debate, and share experiences from humanitarian organizations and from those working in field of Social Medicine.<br /><br />In the evening we will announce and honor the winners of the <strong>GNU Health Social Medicine awards.</strong><br /><br />We are counting on you to get the most out of the conference. Most importantly, we want you to have fun, feel at home, and enjoy being part<br /> of the GNU Health community.</p>
<p>Looking forward to seeing you in Sicily!<br /><br />Happy Hacking!<br /><br />GHCon2024 homepage: <a href="https://www.gnuhealth.org/ghcon">https://www.gnuhealth.org/ghcon</a><br />Registration: <a href="https://my.gnusolidario.org/ghcon2024-registration/">https://my.gnusolidario.org/ghcon2024-registration/</a><br /></p>
<p>Follow us in Mastodon (<a href="https://mastodon.social/@gnuhealth">https://mastodon.social/@gnuhealth</a>) for the latest news.</p>
<p>You can share the news using the tag <strong>#GHCon2024</strong><br /></p>
<p></p>
<p></p> Sat, 19 Oct 2024 17:30:49 +0000gnuboot @ Savannah: Nonfree software found in GNU Boot releases again, many distros affected.https://savannah.gnu.org/news/?id=10684
https://savannah.gnu.org/news/?id=10684
<p>The GNU Boot project previously found nonfree microcode in the first
<br />
RC1 release (in gnuboot-0.1-rc1_src.tar.xz to be exact).
<br />
<br />
This was announced in the "GNU Boot December 2023 News"
<br />
(<a href="https://lists.gnu.org/archive/html/gnuboot-announce/2023-12/msg00000.html">https://lists.gnu.org/archive/html/gnuboot-announce/2023-12/msg00000.html</a>). It
<br />
was fixed by re-making the affected tarball by hand with the nonfree
<br />
software removed and by contacting Canoeboot that had the same issue,
<br />
and by bug reporting and proposing patches to fix the issue in Guix as
<br />
well (they are still pending as we need to find a reviewer familiar
<br />
with Coreboot).
<br />
<br />
But recently we found a more problematic issue that also affects many
<br />
more distributions and all the previous GNU Boot release candidates.
<br />
<br />
The vboot source code used in Coreboot and in the vboot-utils package
<br />
available in many GNU/Linux distributions contains nonfree code in
<br />
their test data in tests/futility/data (nonfree microcode, nonfree
<br />
BIOS, nonfree Management Engine firmwares, etc).
<br />
<br />
So we had to re-release all the affected tarballs (like
<br />
gnuboot-0.1-rc1_src.tar.xz, gnuboot-0.1-rc2_src.tar.xz, etc).
<br />
<br />
We made and we improved the process along the way (we now store the
<br />
changes in tag inside our git repository and simply regenerate the
<br />
tarballs with the build system that is available for a given tag).
<br />
<br />
We are also in the process of contacting distributions and/or
<br />
coordinating with them and we also need help as there are many
<br />
distributions to contact.
<br />
<br />
To do that we started contacting the free GNU/Linux distros
<br />
(<a href="https://www.gnu.org/distros/free-distros.html">https://www.gnu.org/distros/free-distros.html</a>) that ship the vboot
<br />
source code. We also contacted Replicant that is a free Android distro
<br />
that also ships vboot source code.
<br />
<br />
We also started to contact common distros that require certain
<br />
repositories to only have free software (so far we only contacted
<br />
Debian as that will help Trisquel fix the issue, but we also need to
<br />
contact Fedora for instance). Finding which distro to contact is made
<br />
much easier thanks to GNU's review of common distros policies
<br />
(<a href="https://www.gnu.org/distros/common-distros.html">https://www.gnu.org/distros/common-distros.html</a>).
<br />
<br />
We coordinate that work on our bug report system at Savannah,
<br />
especially in the <i><a href="https://savannah.gnu.org/bugs/?66246">bug #66246</a></i>
<br />
(<a href="https://savannah.gnu.org/bugs/index.php?66246">https://savannah.gnu.org/bugs/index.php?66246</a>).<br />
</p> Sat, 19 Oct 2024 13:27:22 +0000health @ Savannah: GHcon2024, the GNUHealth Conference will be in Palermo, Italy - December 15thhttps://savannah.gnu.org/news/?id=10683
https://savannah.gnu.org/news/?id=10683
<p>Dear community:
<br />
<br />
We're excited to announce the IX International GNU Health Conference, that will take place in beautiful Sicily, Italy, at the University of Palermo this December 15th.
<br />
<br />
The GNU Health Conference (GHCon) is the annual conference that brings together enthusiasts and developers of GNU Health, the Libre digital health ecosystem. The conference will have thematic sessions, lightning talks and implementation cases to get to know the GNU Health and other Free/Libre software communities from around the world.
<br />
<br />
We will show the upcoming features of the Health and Hospital Information System, standards, security, privacy, the GNU Health Federation and MyGNUHealth (the Personal Health Record)
<br />
<br />
The XVII International Workshop on eHealth in Emerging Economies (IWEEE) is about Social Medicine and addressing the reality of the underprivileged around the world. There will be workshops to debate, and share experiences from humanitarian organizations and from those working in field of Social Medicine.
<br />
<br />
In the evening we will announce and honor the winners of the GNU Health Social Medicine awards.
<br />
<br />
We are counting on you to get the most out of the conference. Most importantly, we want you to have fun, feel at home, and enjoy being part of the GNU Health community.
<br />
<br />
Happy Hacking!
<br />
<br />
Homepage: <a href="https://www.gnuhealth.org/ghcon">https://www.gnuhealth.org/ghcon</a>
<br />
<br />
Registration: <a href="https://my.gnusolidario.org/ghcon2024-registration/">https://my.gnusolidario.org/ghcon2024-registration/</a>
<br />
<br />
Follow us in Mastodon (<a href="https://mastodon.social/@gnuhealth">https://mastodon.social/@gnuhealth</a>) for the latest news.
<br />
<br />
You can share the news using the tag #GHCon2024<br />
</p> Sat, 19 Oct 2024 08:46:46 +0000libunistring @ Savannah: GNU libunistring-1.3 releasedhttps://savannah.gnu.org/news/?id=10682
https://savannah.gnu.org/news/?id=10682
<p>Download from <a href="https://ftp.gnu.org/gnu/libunistring/libunistring-1.3.tar.gz">https://ftp.gnu.org/gnu/libunistring/libunistring-1.3.tar.gz</a>
<br />
<br />
This is a stable release.
<br />
<br />
New in this release:
<br />
<br />
</p>
<ul>
<li>The data tables and algorithms have been updated to Unicode version 16.0.0.
</li>
<li>New function uc_is_property_modifier_combining_mark and new constant UC_PROPERTY_MODIFIER_COMBINING_MARK.
</li>
<li>Fixed a bug in the *printf functions: The %ls and %lc directives could lead to a crash on Solaris and MSVC.
</li>
</ul> Wed, 16 Oct 2024 18:49:44 +0000Jose E. Marchesi: bugz-mode and a68-mode now in sourcehuthttp://jemarch.net
http://jemarch.net
<p>
I have decided to start using sourcehut for a few of my
projects. The first projects landing there are
<b>bugz-mode</b> and <b>a68-mode</b>, two Emacs modes. The
first implements a quite efficient and comfortable interface
to bugzilla. The second is a programming mode for <a href="http://www.jemarch.net/algol.html">Algol 68</a>.
</p>
<p>
Let's see how it goes!
</p>
<p>
<a href="https://git.sr.ht/~jemarch">https://git.sr.ht/~jemarch</a>
</p> Sat, 12 Oct 2024 00:00:00 +0000GNUnet News: GNUnet 0.22.1https://gnunet.org/en/news/2024-10-0.22.1.html
https://gnunet.org/en/news/2024-10-0.22.1.html
<article id="newspost-content">
<h1>
GNUnet 0.22.1
</h1>
<p>
This is a bugfix release for gnunet 0.22.0.
It addresses some issues in HELLO URI handling and formatting as
well as regressions in the DHT subsystem along with other bug fixes.
</p>
<p>
</p>
<h4>
Links
</h4>
<ul>
<li>
Source:
<a href="https://ftpmirror.gnu.org/gnunet/gnunet-0.22.1.tar.gz">
https://ftpmirror.gnu.org/gnunet/gnunet-0.22.1.tar.gz
</a>
(
<a href="https://ftpmirror.gnu.org/gnunet/gnunet-0.22.1.tar.gz.sig">
https://ftpmirror.gnu.org/gnunet/gnunet-0.22.1.tar.gz.sig
</a>
)
</li>
<li>
Source (meson):
<a href="https://buildbot.gnunet.org/releases/gnunet-0.22.1-meson.tar.gz">
https://buildbot.gnunet.org/gnunet-0.22.1-meson.tar.gz
</a>
(
<a href="https://buildbot.gnunet.org/gnunet-0.22.1-meson.tar.gz.sig">
https://buildbot.gnunet.org/gnunet-0.22.1-meson.tar.gz.sig
</a>
)
</li>
<li>
Detailed list of changes:
<a href="https://git.gnunet.org/gnunet.git/log/?h=v0.22.1">
https://git.gnunet.org/gnunet.git/log/?h=v0.22.1
</a>
</li>
<li>
NEWS:
<a href="https://git.gnunet.org/gnunet.git/tree/NEWS?h=v0.22.1">
https://git.gnunet.org/gnunet.git/tree/NEWS?h=v0.22.1
</a>
</li>
<li>
The list of closed issues in the bug tracker:
<a href="https://bugs.gnunet.org/changelog_page.php?version_id=457">
https://bugs.gnunet.org/changelog_page.php?version_id=457
</a>
</li>
</ul>
<p>
The GPG key used to sign is:
<a href="https://gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">
3D11063C10F98D14BD24D1470B0998EF86F59B6A
</a>
</p>
<p>
Note that due to mirror synchronization, not all links may be functional
early after the release. For direct access try
<a href="https://ftp.gnu.org/gnu/gnunet/">
https://ftp.gnu.org/gnu/gnunet/
</a>
</p>
</article> Wed, 09 Oct 2024 22:00:00 +0000FSF News: Free Software Foundation to serve on "artificial intelligence" safety consortiumhttp://www.fsf.org/news/fsf-serves-on-nist
http://www.fsf.org/news/fsf-serves-on-nist
BOSTON (October 8, 2024) -- The Free Software Foundation (FSF) has
announced that it is taking part in the US National Institute of
Standards and Technology (NIST)'s consortium on the safety of
(so-called) artificial intelligence, particularly with reference to
"generative" AI systems. The FSF will ensure the free software
perspective is adequately represented in these discussions. Wed, 09 Oct 2024 14:05:00 +0000health @ Savannah: Time to take back the Internethttps://savannah.gnu.org/news/?id=10677
https://savannah.gnu.org/news/?id=10677
<p>It’s no news. They’re stealing the Internet from us and we must do something about it. What it used to be a fun, collaborative hacking space is now ruled by corporations and narcissistic billionaires. Proprietary centralized social networks have become a space for hate, discrimination and propaganda. The messages that you see are those that they want you to see. Your data is no longer yours. They have become a massive thought control machine. You read what they want you to read and, in the end, you will end up writing and doing what they want you to write and to do. It’s a matter of time and money, and they have both.
<br />
<br />
These corporate-driven social networks are deceiving. They make us fall into false assumptions in a distorted reality. This delusion hits both individuals and organizations. For instance, in GNU Solidario and GNU Health, we fight for Social Medicine and for the rights of human and non-human animals. When we want to share an event, to make a fundraising campaign or to denounce human or animal rights violations we want the message to reach out as many people as possible. We could think, why not share it with our followers on Twitter / X? Experience has it, corporate social networks have not really made a difference in the outcomes. They will promote or “shadow ban” the message depending on who wrote it. You can guess the results for those who fight against neoliberal capitalism.
<br />
<br />
Social pressure exists, and is not trivial to overcome. Many fear that leaving proprietary centralized social networks that have been using for years will result in losing the status and contacts they’ve built throughout the years. Again, it’s not really a big deal. And we have great news, there are decentralized, community-driven alternatives! Some of those alternatives are Mastodon, Friendica or Diaspora. Not only social networks, today there is an free software alternative to pretty much any proprietary solution (search engines, scientific programs, multimedia, office suites, databases, games…)
<br />
<br />
There is a correlation between Free Software, freedom and privacy. The more Free Software, the more freedom and privacy you enjoy. The contrary also applies: Proprietary software is inversely proportional to our freedom, both at individual and collective level. There is no transparency, no privacy, no control, no rights in proprietary applications, networks or clouds.
<br />
<br />
In the last decades, the tech giants have been busy in a campaign to dismantle the Free Software philosophy and community. The “open source” euphemism is one of them. Richard Stallman (creator of the GNU project and the Free Software Foundation) has been warning us about the dangers of “Open Source”. Free societies are built with free software, not with open source. I know some members in the free software community use both terms interchangeably, but I am convinced using the “Free Software” terms not only delivers software, but also freedom to our society.
<br />
<br />
Internet is no longer fun or empathetic. It has become a hostile and toxic environment, the medium for corporations and elites that increase concentration of power, social gradient and create very unjust societies. They use our data to control individuals and governments. We certainly don’t want to be part of that.
<br />
<br />
It is our moral duty to bring back spirit of solidarity that RMS delivered in the late 80’s, and that made possible the GNU movement, the best operating systems, programming languages, web servers and database engines for everyone. The GNU project was the inspiration for projects like GNU Health, helping millions around the globe, delivering freedom and equity in healthcare.
<br />
<br />
In the end, it is up to us to embrace federated, community driven social networks and free software applications. Millions of individuals, activists, free software projects, NGOs and even the European Union have already joined the Fediverse and Mastodon. It only takes an initial push to break the social pressure to set ourselves and our societies free.
<br />
<br />
Citing our friends from GNUnet: “You broke the Internet… we’ll build a GNU one”.
<br />
<br />
Happy hacking!
<br />
<br />
Follow us in Mastodon: <a href="https://mastodon.social/@gnuhealth">https://mastodon.social/@gnuhealth</a>
<br />
<br />
Original post: <a href="https://my.gnusolidario.org/2024/09/26/time-to-take-back-the-internet/">https://my.gnusolidario.org/2024/09/26/time-to-take-back-the-internet/</a><br />
</p> Thu, 26 Sep 2024 18:08:49 +0000GNU Health: Time to take back the Internethttps://my.gnusolidario.org/?p=2034
https://my.gnusolidario.org/2024/09/26/time-to-take-back-the-internet/
<p>It’s no news. They’re stealing the Internet from us and we must do something about it. What it used to be a fun, collaborative hacking space is now ruled by corporations and narcissistic billionaires. Proprietary centralized social networks have become a space for hate, discrimination and propaganda. The messages that you see are those that they want you to see. Your data is no longer yours. They have become a massive thought control machine. You read what they want you to read and, in the end, you will end up writing and doing what they want you to write and to do. It’s a matter of time and money, and they have both.</p>
<p>These corporate-driven social networks are deceiving. They make us fall into false assumptions in a distorted reality. This delusion hits both individuals and organizations. For instance, in GNU Solidario and GNU Health, we fight for Social Medicine and for the rights of human and non-human animals. When we want to share an event, to make a fundraising campaign or to denounce human or animal rights violations we want the message to reach out as many people as possible. We could think, why not share it with our followers on Twitter / X? Experience has it, corporate social networks have not really made a difference in the outcomes. They will promote or “shadow ban” the message depending on who wrote it. You can guess the results for those who fight against neoliberal capitalism.</p>
<p></p>
<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><img alt="" class="wp-image-2035" height="516" src="https://my.gnusolidario.org/wp-content/uploads/2024/09/image-1024x1024.png" width="516" /></figure></div>
<p class="has-text-align-center">“The many branches of the Fediverse” (credits: Axbom)</p>
<p>Social pressure exists, and is not trivial to overcome. Many fear that leaving proprietary centralized social networks that have been using for years will result in losing the status and contacts they’ve built throughout the years. Again, it’s not really a big deal. And we have great news, there are decentralized, community-driven alternatives! Some of those alternatives are Mastodon, Friendica or Diaspora. Not only social networks, today there is an free software alternative to pretty much any proprietary solution (search engines, scientific programs, multimedia, office suites, databases, games…)</p>
<div class="wp-block-image">
<figure class="aligncenter is-resized"><img alt="" class="wp-image-2039" height="486" src="https://my.gnusolidario.org/wp-content/uploads/2024/09/image-3-1024x1024.png" width="486" /></figure></div>
<p class="has-text-align-center">The GNU head, symbol of the GNU project</p>
<p>There is a correlation between Free Software, freedom and privacy. The more Free Software, the more freedom and privacy you enjoy. The contrary also applies: Proprietary software is inversely proportional to our freedom, both at individual and collective level. There is no transparency, no privacy, no control, no rights in proprietary applications, networks or clouds.</p>
<p>In the last decades, the tech giants have been busy in a campaign to dismantle the Free Software philosophy and community. The “open source” euphemism is one of them. Richard Stallman (creator of the GNU project and the Free Software Foundation) has been warning us about the dangers of “Open Source”. Free societies are built with free software, not with open source. I know some members in the free software community use both terms interchangeably, but I am convinced using the “Free Software” terms not only delivers software, but also freedom to our society.</p>
<p>Internet is no longer fun or empathetic. It has become a hostile and toxic environment, the medium for corporations and elites that increase concentration of power, social gradient and create very unjust societies. They use our data to control individuals and governments. We certainly don’t want to be part of that.</p>
<p>It is our moral duty to bring back spirit of solidarity that RMS delivered in the late 80’s, and that made possible the GNU movement, the best operating systems, programming languages, web servers and database engines for everyone. The GNU project was the inspiration for projects like GNU Health, helping millions around the globe, delivering freedom and equity in healthcare.</p>
<p>In the end, it is up to us to embrace federated, community driven social networks and free software applications. Millions of individuals, activists, free software projects, NGOs and even the European Union have already joined the Fediverse and Mastodon. It only takes an initial push to break the social pressure to set ourselves and our societies free.</p>
<div class="wp-block-image">
<figure class="aligncenter size-full is-resized"><img alt="" class="wp-image-2036" height="619" src="https://my.gnusolidario.org/wp-content/uploads/2024/09/image-1.png" width="536" /></figure></div>
<p class="has-text-align-center">Collage with some members of the GNU Health community around the world</p>
<p>Citing our friends from GNUnet: <em>“You broke the Internet… we’ll build a GNU one”</em>.</p>
<p>Happy hacking!</p>
<p>Follow us in Mastodon: <a href="https://mastodon.social/@gnuhealth">https://mastodon.social/@gnuhealth</a></p>
<p></p>
<p></p>
<p></p> Thu, 26 Sep 2024 16:16:39 +0000libtool @ Savannah: libtool-2.5.3 released [stable]https://savannah.gnu.org/news/?id=10676
https://savannah.gnu.org/news/?id=10676
<p>Libtoolers!
<br />
<br />
The Libtool Team is pleased to announce the release of libtool 2.5.3.
<br />
<br />
GNU Libtool hides the complexity of using shared libraries behind a
<br />
consistent, portable interface. GNU Libtool ships with GNU libltdl, which
<br />
hides the complexity of loading dynamic runtime libraries (modules)
<br />
behind a consistent, portable interface.
<br />
<br />
There have been 14 commits by 2 people in the 27 days since 2.5.2.
<br />
<br />
See the NEWS below for a brief summary. An alpha and two beta releases
<br />
of GNU Libtool have been released prior to this stable release. Please
<br />
view the NEWS entries for those releases for a more complete summary of
<br />
the updates between stable releases 2.4.7 and 2.5.3.
<br />
<br />
Thanks to everyone who has contributed!
<br />
The following people contributed changes to this release:
<br />
<br />
Bruno Haible (3)
<br />
Ileana Dumitrescu (11)
<br />
<br />
Ileana
<br />
[on behalf of the libtool maintainers]
<br />
==================================================================
<br />
<br />
Here is the GNU libtool home page:
<br />
<a href="https://gnu.org/s/libtool/">https://gnu.org/s/libtool/</a>
<br />
<br />
For a summary of changes and contributors, see:
<br />
<a href="https://git.sv.gnu.org/gitweb/?p=libtool.git;a=shortlog;h=v2.5.3">https://git.sv.gnu.org/gitweb/?p=libtool.git;a=shortlog;h=v2.5.3</a>
<br />
or run this command from a git-cloned libtool directory:
<br />
git shortlog v2.5.2..v2.5.3
<br />
<br />
Here are the compressed sources:
<br />
<a href="https://ftpmirror.gnu.org/libtool/libtool-2.5.3.tar.gz">https://ftpmirror.gnu.org/libtool/libtool-2.5.3.tar.gz</a> (2.0MB)
<br />
<a href="https://ftpmirror.gnu.org/libtool/libtool-2.5.3.tar.xz">https://ftpmirror.gnu.org/libtool/libtool-2.5.3.tar.xz</a> (1.1MB)
<br />
<br />
Here are the GPG detached signatures:
<br />
<a href="https://ftpmirror.gnu.org/libtool/libtool-2.5.3.tar.gz.sig">https://ftpmirror.gnu.org/libtool/libtool-2.5.3.tar.gz.sig</a>
<br />
<a href="https://ftpmirror.gnu.org/libtool/libtool-2.5.3.tar.xz.sig">https://ftpmirror.gnu.org/libtool/libtool-2.5.3.tar.xz.sig</a>
<br />
<br />
Use a mirror for higher download bandwidth:
<br />
<a href="https://www.gnu.org/order/ftp.html">https://www.gnu.org/order/ftp.html</a>
<br />
<br />
Here are the SHA1 and SHA256 checksums:
<br />
<br />
f48e2fcdb0b80f97e93366c41fdcd1ea90f2f253 libtool-2.5.3.tar.gz
<br />
kyK9j2vISP2j44WJndGTSVcWllKs73FtGdGdJAU6u5U= libtool-2.5.3.tar.gz
<br />
f1450b2f652d9acf3b83eee823cad966a149cca4 libtool-2.5.3.tar.xz
<br />
iYARIyzFm2s7u+Mhtgq6nbGsEVeKth7Q3wKZRYFGri4= libtool-2.5.3.tar.xz
<br />
<br />
Verify the base64 SHA256 checksum with cksum -a sha256 --check
<br />
from coreutils-9.2 or OpenBSD's cksum since 2007.
<br />
<br />
Use a .sig file to verify that the corresponding file (without the
<br />
.sig suffix) is intact. First, be sure to download both the .sig file
<br />
and the corresponding tarball. Then, run a command like this:
<br />
<br />
gpg --verify libtool-2.5.3.tar.gz.sig
<br />
<br />
The signature should match the fingerprint of the following key:
<br />
<br />
pub rsa4096 2021-09-23 [SC]
<br />
FA26 CA78 4BE1 8892 7F22 B99F 6570 EA01 146F 7354
<br />
uid Ileana Dumitrescu <[email protected]>
<br />
uid Ileana Dumitrescu <[email protected]>
<br />
<br />
If that command fails because you don't have the required public key,
<br />
or that public key has expired, try the following commands to retrieve
<br />
or refresh it, and then rerun the 'gpg --verify' command.
<br />
<br />
gpg --locate-external-key <a href="mailto:[email protected]">[email protected]</a>
<br />
<br />
gpg --recv-keys 6570EA01146F7354
<br />
<br />
wget -q -O- '<a href="https://savannah.gnu.org/project/release-gpgkeys.php?group=libtool&download=1">https://savannah.gnu.org/project/release-gpgkeys.php?group=libtool&download=1</a>' | gpg --import -
<br />
<br />
As a last resort to find the key, you can try the official GNU
<br />
keyring:
<br />
<br />
wget -q <a href="https://ftp.gnu.org/gnu/gnu-keyring.gpg">https://ftp.gnu.org/gnu/gnu-keyring.gpg</a>
<br />
gpg --keyring gnu-keyring.gpg --verify libtool-2.5.3.tar.gz.sig
<br />
<br />
This release was bootstrapped with the following tools:
<br />
Autoconf 2.72e
<br />
Automake 1.17
<br />
Gnulib v1.0-803-g30417e7f91
<br />
<br />
NEWS
<br />
<br />
</p>
<ul>
<li>Noteworthy changes in release 2.5.3 (2024-09-25) [stable]
</li>
</ul>
<p>
<br />
** New features:
<br />
<br />
- Add 'aarch64' support to the file magic test, which allows for
<br />
shared libraries to be built with Mingw for aarch64.
<br />
<br />
** Bug fixes:
<br />
<br />
- The configure options --with-pic and --without-pic have been renamed
<br />
to --enable-pic and --disable-pic, respectively. The old names
<br />
--with-pic and --without-pic are still supported, though, for
<br />
backward compatibility.
<br />
<br />
- The configure option --with-aix-soname has been renamed to
<br />
--enable-aix-soname. The old name --with-aix-soname is still
<br />
supported, though, for backward compatibility.
<br />
<br />
- Fix conflicting warnings about AC_PROG_RANLIB.
<br />
<br />
- Document situations where -export-symbols does not work.
<br />
<br />
- Update FSF office address with URL in each file's license block.
<br />
<br />
- Add checks for aclocal in standalone.at and subproject.at test files
<br />
that report failures in Linux From Scratch and Darwin builds.
<br />
<br />
<br />
Enjoy!<br />
</p> Wed, 25 Sep 2024 15:57:03 +0000parallel @ Savannah: GNU Parallel 20240922 ('Gold Apollo AR924') releasedhttps://savannah.gnu.org/news/?id=10675
https://savannah.gnu.org/news/?id=10675
<p>GNU Parallel 20240922 ('Gold Apollo AR924') has been released. It is available for download at: lbry://@GnuParallel:4
<br />
<br />
Quote of the month:
<br />
<br />
Recently executed a flawless live data migration of ~2.4pb using GNU parallel for scale and bash scripts.
<br />
-- @mechanicker@twitter Dhruva
<br />
<br />
New in this release:
<br />
</p>
<ul>
<li>--fast disables a lot of functionality to speed up running jobs.
</li>
<li>Bug fixes and man page updates.
</li>
</ul>
<p>News about GNU Parallel:
<br />
</p>
<ul>
<li>Job requiring GNU Parallel knowledge <a href="https://www.capgemini.com/ca-en/jobs/Id6D4pEBZ6aB2WPS2aAJ/systems-engineer/">https://www.capgemini.com/ca-en/jobs/Id6D4pEBZ6aB2WPS2aAJ/systems-engineer/</a>
</li>
</ul>
<p>
<br />
GNU Parallel - For people who live life in the parallel lane.
<br />
<br />
If you like GNU Parallel record a video testimonial: Say who you are, what you use GNU Parallel for, how it helps you, and what you like most about it. Include a command that uses GNU Parallel if you feel like it.
<br />
</p>
<h2>About GNU Parallel</h2>
<p>GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.
<br />
<br />
If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.
<br />
<br />
GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.
<br />
<br />
For example you can run this to convert all jpeg files into png and gif files and have a progress bar:
<br />
<br />
parallel --bar convert {1} {1.}.{2} ::: *.jpg ::: png gif
<br />
<br />
Or you can generate big, medium, and small thumbnails of all jpeg files in sub dirs:
<br />
<br />
find . -name '*.jpg' |
<br />
parallel convert -geometry {2} {1} {1//}/thumb{2}_{1/} :::: - ::: 50 100 200
<br />
<br />
You can find more about GNU Parallel at: <a href="http://www.gnu.org/s/parallel/">http://www.gnu.org/s/parallel/</a>
<br />
<br />
You can install GNU Parallel in just 10 seconds with:
<br />
<br />
$ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \
<br />
fetch -o - <a href="http://pi.dk/3">http://pi.dk/3</a> ) > install.sh
<br />
$ sha1sum install.sh | grep 883c667e01eed62f975ad28b6d50e22a
<br />
12345678 883c667e 01eed62f 975ad28b 6d50e22a
<br />
$ md5sum install.sh | grep cc21b4c943fd03e93ae1ae49e28573c0
<br />
cc21b4c9 43fd03e9 3ae1ae49 e28573c0
<br />
$ sha512sum install.sh | grep ec113b49a54e705f86d51e784ebced224fdff3f52
<br />
79945d9d 250b42a4 2067bb00 99da012e c113b49a 54e705f8 6d51e784 ebced224
<br />
fdff3f52 ca588d64 e75f6033 61bd543f d631f592 2f87ceb2 ab034149 6df84a35
<br />
$ bash install.sh
<br />
<br />
Watch the intro video on <a href="http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1">http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1</a>
<br />
<br />
Walk through the tutorial (man parallel_tutorial). Your command line will love you for it.
<br />
<br />
When using programs that use GNU Parallel to process data for publication please cite:
<br />
<br />
O. Tange (2018): GNU Parallel 2018, March 2018, <a href="https://doi.org/10.5281/zenodo.1146014">https://doi.org/10.5281/zenodo.1146014</a>.
<br />
<br />
If you like GNU Parallel:
<br />
</p>
<ul>
<li>Give a demo at your local user group/team/colleagues
</li>
<li>Post the intro videos on Reddit/Diaspora*/forums/blogs/
</li>
</ul>
<p>Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists
<br />
</p>
<ul>
<li>Get the merchandise <a href="https://gnuparallel.threadless.com/designs/gnu-parallel">https://gnuparallel.threadless.com/designs/gnu-parallel</a>
</li>
<li>Request or write a review for your favourite blog or magazine
</li>
<li>Request or build a package for your favourite distribution (if it is
</li>
</ul>
<p>not already there)
<br />
</p>
<ul>
<li>Invite me for your next conference
</li>
</ul>
<p>If you use programs that use GNU Parallel for research:
<br />
</p>
<ul>
<li>Please cite GNU Parallel in you publications (use --citation)
</li>
</ul>
<p>If GNU Parallel saves you money:
<br />
</p>
<ul>
<li>(Have your company) donate to FSF <a href="https://my.fsf.org/donate/">https://my.fsf.org/donate/</a>
</li>
</ul>
<h2>About GNU SQL</h2>
<p>GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.
<br />
<br />
The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.
<br />
<br />
When using GNU SQL for a publication please cite:
<br />
<br />
O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.
<br />
</p>
<h2>About GNU Niceload</h2>
<p>GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the
<br />
limit.<br />
</p> Mon, 23 Sep 2024 20:49:16 +0000Gary Benson: Too many git branches?https://gbenson.net/?p=993
https://gbenson.net/so-many-git-branches/
<p>Do you have too many git branches on the go at once? Here is the command to list them in order of last modification:</p>
<pre>git for-each-ref --sort=-committerdate refs/heads</pre> Fri, 20 Sep 2024 14:43:22 +0000unifont @ Savannah: Unifont 16.0.01 Releasedhttps://savannah.gnu.org/news/?id=10673
https://savannah.gnu.org/news/?id=10673
<p><b>10 September 2024</b>
<br />
<br />
Unifont 16.0.01 is now available. This is a major release.
<br />
<br />
From the NEWS file:
<br />
<br />
* Updates to synchronize Unifont with Unicode 16.0.0 release.
<br />
<br />
* Many new upper-plane Chinese ideographs added.
<br />
<br />
* New "make" build dependency on ImageMagick's "convert" program
<br />
to build thumbnail images of the Unicode plane bitmaps.
<br />
<br />
* unifont-combining-$(VERSION).txt is now included in the
<br />
distribution set to provide spacing information on all
<br />
combining characters.
<br />
<br />
* Many other minor updates; see ChangeLog for details.
<br />
<br />
Download this release from GNU server mirrors at:
<br />
<br />
<a href="https://ftpmirror.gnu.org/unifont/unifont-16.0.01/">https://ftpmirror.gnu.org/unifont/unifont-16.0.01/</a>
<br />
<br />
or if that fails,
<br />
<br />
<a href="https://ftp.gnu.org/gnu/unifont/unifont-16.0.01/">https://ftp.gnu.org/gnu/unifont/unifont-16.0.01/</a>
<br />
<br />
or, as a last resort,
<br />
<br />
<a href="ftp://ftp.gnu.org/gnu/unifont/unifont-16.0.01/">ftp://ftp.gnu.org/gnu/unifont/unifont-16.0.01/</a>
<br />
<br />
These files are also available on the unifoundry.com website:
<br />
<br />
<a href="https://unifoundry.com/pub/unifont/unifont-16.0.01/">https://unifoundry.com/pub/unifont/unifont-16.0.01/</a>
<br />
<br />
Font files are in the subdirectory
<br />
<br />
<a href="https://unifoundry.com/pub/unifont/unifont-16.0.01/font-builds/">https://unifoundry.com/pub/unifont/unifont-16.0.01/font-builds/</a>
<br />
<br />
A more detailed description of font changes is available at
<br />
<br />
<a href="https://unifoundry.com/unifont/index.html">https://unifoundry.com/unifont/index.html</a>
<br />
<br />
and of utility program changes at
<br />
<br />
<a href="https://unifoundry.com/unifont/unifont-utilities.html">https://unifoundry.com/unifont/unifont-utilities.html</a>
<br />
<br />
Enjoy!
<br />
<br />
<br />
Paul Hardy<br />
</p> Tue, 10 Sep 2024 16:49:25 +0000stow @ Savannah: GNU Stow 2.4.1 releasedhttps://savannah.gnu.org/news/?id=10672
https://savannah.gnu.org/news/?id=10672
<p>Stow 2.4.1 has been released. This release contains some minor bug-fixes -- specifically, fixing the --dotfiles option to work correctly with ignore lists, allowing options in .stowrc with spaces, and avoiding a spurious warning on Perl >= 5.40. There were also some clean-ups and improvements, mostly internal and not visible to users. Read details of what's new: <a href="http://git.savannah.gnu.org/cgit/stow.git/tree/NEWS">http://git.savannah.gnu.org/cgit/stow.git/tree/NEWS</a><br />
</p> Sun, 08 Sep 2024 22:26:28 +0000texinfo @ Savannah: Texinfo 7.1.1 releasedhttps://savannah.gnu.org/news/?id=10671
https://savannah.gnu.org/news/?id=10671
<p>We have released version 7.1.1 of Texinfo, the GNU documentation format. This is a minor bug-fix release.
<br />
<br />
It's available via a mirror (xz is much smaller than gz, but gz is available too just in case):
<br />
<br />
<a href="http://ftpmirror.gnu.org/texinfo/texinfo-7.1.1.tar.xz">http://ftpmirror.gnu.org/texinfo/texinfo-7.1.1.tar.xz</a>
<br />
<a href="http://ftpmirror.gnu.org/texinfo/texinfo-7.1.1.tar.gz">http://ftpmirror.gnu.org/texinfo/texinfo-7.1.1.tar.gz</a>
<br />
<br />
Please send any comments to [email protected].
<br />
<br />
Full announcement:
<br />
<br />
<a href="https://lists.gnu.org/archive/html/bug-texinfo/2024-09/msg00041.html">https://lists.gnu.org/archive/html/bug-texinfo/2024-09/msg00041.html</a><br />
</p> Sat, 07 Sep 2024 19:05:55 +0000libffcall @ Savannah: GNU libffcall 2.5 is releasedhttps://savannah.gnu.org/news/?id=10670
https://savannah.gnu.org/news/?id=10670
<p>libffcall version 2.5 is released.
<br />
<br />
New in this release:
<br />
<br />
</p>
<ul>
<li>Added support for the following platforms: (Previously, a build on these platforms failed.)
<ul>
<li>loongarch64: Linux with lp64d ABI.
</li>
<li>riscv64: Linux with musl libc.
</li>
<li>hppa: Linux.
</li>
<li>powerpc: FreeBSD, NetBSD.
</li>
<li>powerpc64: FreeBSD.
</li>
<li>powerpc64le: FreeBSD.
</li>
<li>arm: Android.
</li>
</ul>
</li>
</ul>
<p>
<br />
</p>
<ul>
<li>Fixed support for the following platforms: (Previously, a build on these platforms appeared to succeed but was buggy.)
<ul>
<li>ia64: Linux.
</li>
<li>arm64: OpenBSD.
</li>
</ul>
</li>
</ul>
<p>
<br />
</p>
<ul>
<li>Simplified the environmental requirements (the library no longer allocates a temporary file in /tmp) on the following platforms:
<ul>
<li>Linux.
</li>
<li>macOS.
</li>
<li>FreeBSD 13 and newer.
</li>
<li>NetBSD 8 and newer.
</li>
</ul>
</li>
</ul> Mon, 02 Sep 2024 13:35:19 +0000libtool @ Savannah: libtool-2.5.2 released [beta]https://savannah.gnu.org/news/?id=10669
https://savannah.gnu.org/news/?id=10669
<p>Libtoolers!
<br />
<br />
The Libtool Team is pleased to announce the release of libtool 2.5.2, a beta release.
<br />
<br />
This beta release was not planned, but additional testing of a recent bugfix
<br />
was requested for distros to have the chance to test it with mass-rebuilds.
<br />
<br />
The details of this bugfix can be found here:
<br />
<a href="https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71489">https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71489</a>
<br />
The commit for this bugfix can be found here:
<br />
<a href="https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=0e1b33332429cd578367bd0ad420c065d5caf0ac">https://git.savannah.gnu.org/cgit/libtool.git/commit/?id=0e1b33332429cd578367bd0ad420c065d5caf0ac</a>
<br />
<br />
I hope to release the stable in a couple of weeks if testing goes well!
<br />
<br />
GNU Libtool hides the complexity of using shared libraries behind a
<br />
consistent, portable interface. GNU Libtool ships with GNU libltdl, which
<br />
hides the complexity of loading dynamic runtime libraries (modules)
<br />
behind a consistent, portable interface.
<br />
<br />
There have been 9 commits by 4 people in the 35 days since 2.5.1.
<br />
<br />
See the NEWS below for a brief summary.
<br />
<br />
Thanks to everyone who has contributed!
<br />
The following people contributed changes to this release:
<br />
<br />
Bruno Haible (1)
<br />
Ileana Dumitrescu (6)
<br />
Sergey Poznyakoff (1)
<br />
Tobias Stoeckmann (1)
<br />
<br />
Ileana
<br />
[on behalf of the libtool maintainers]
<br />
==================================================================
<br />
<br />
Here is the GNU libtool home page:
<br />
<a href="https://gnu.org/s/libtool/">https://gnu.org/s/libtool/</a>
<br />
<br />
For a summary of changes and contributors, see:
<br />
<a href="https://git.sv.gnu.org/gitweb/?p=libtool.git;a=shortlog;h=v2.5.2">https://git.sv.gnu.org/gitweb/?p=libtool.git;a=shortlog;h=v2.5.2</a>
<br />
or run this command from a git-cloned libtool directory:
<br />
git shortlog v2.5.1..v2.5.2
<br />
<br />
Here are the compressed sources:
<br />
<a href="https://alpha.gnu.org/gnu/libtool/libtool-2.5.2.tar.gz">https://alpha.gnu.org/gnu/libtool/libtool-2.5.2.tar.gz</a> (1.9MB)
<br />
<a href="https://alpha.gnu.org/gnu/libtool/libtool-2.5.2.tar.xz">https://alpha.gnu.org/gnu/libtool/libtool-2.5.2.tar.xz</a> (1.0MB)
<br />
<br />
Here are the GPG detached signatures:
<br />
<a href="https://alpha.gnu.org/gnu/libtool/libtool-2.5.2.tar.gz.sig">https://alpha.gnu.org/gnu/libtool/libtool-2.5.2.tar.gz.sig</a>
<br />
<a href="https://alpha.gnu.org/gnu/libtool/libtool-2.5.2.tar.xz.sig">https://alpha.gnu.org/gnu/libtool/libtool-2.5.2.tar.xz.sig</a>
<br />
<br />
Use a mirror for higher download bandwidth:
<br />
<a href="https://www.gnu.org/order/ftp.html">https://www.gnu.org/order/ftp.html</a>
<br />
<br />
Here are the SHA1 and SHA256 checksums:
<br />
<br />
e3384dc0099855942f76ef8a97be94edab6f56de libtool-2.5.2.tar.gz
<br />
KSdftFsjbW/3IKQz+c1fYeovUsw6ouX4m6V3Jr2lR5M= libtool-2.5.2.tar.gz
<br />
71b7333e80b76510f5dbd14db54d311d577bb716 libtool-2.5.2.tar.xz
<br />
e2C09MNk6HhRMNNKmP8Hv6mmFywgxdtwirScaRPkgmM= libtool-2.5.2.tar.xz
<br />
<br />
Verify the base64 SHA256 checksum with cksum -a sha256 --check
<br />
from coreutils-9.2 or OpenBSD's cksum since 2007.
<br />
<br />
Use a .sig file to verify that the corresponding file (without the
<br />
.sig suffix) is intact. First, be sure to download both the .sig file
<br />
and the corresponding tarball. Then, run a command like this:
<br />
<br />
gpg --verify libtool-2.5.2.tar.gz.sig
<br />
<br />
The signature should match the fingerprint of the following key:
<br />
<br />
pub rsa4096 2021-09-23 [SC]
<br />
FA26 CA78 4BE1 8892 7F22 B99F 6570 EA01 146F 7354
<br />
uid Ileana Dumitrescu <[email protected]>
<br />
uid Ileana Dumitrescu <[email protected]>
<br />
<br />
If that command fails because you don't have the required public key,
<br />
or that public key has expired, try the following commands to retrieve
<br />
or refresh it, and then rerun the 'gpg --verify' command.
<br />
<br />
gpg --locate-external-key <a href="mailto:[email protected]">[email protected]</a>
<br />
<br />
gpg --recv-keys 6570EA01146F7354
<br />
<br />
wget -q -O- '<a href="https://savannah.gnu.org/project/release-gpgkeys.php?group=libtool&download=1">https://savannah.gnu.org/project/release-gpgkeys.php?group=libtool&download=1</a>' | gpg --import -
<br />
<br />
As a last resort to find the key, you can try the official GNU
<br />
keyring:
<br />
<br />
wget -q <a href="https://ftp.gnu.org/gnu/gnu-keyring.gpg">https://ftp.gnu.org/gnu/gnu-keyring.gpg</a>
<br />
gpg --keyring gnu-keyring.gpg --verify libtool-2.5.2.tar.gz.sig
<br />
<br />
This release was bootstrapped with the following tools:
<br />
Autoconf 2.72e
<br />
Automake 1.17
<br />
Gnulib v1.0-563-gd3efdd55f3
<br />
<br />
NEWS
<br />
<br />
</p>
<ul>
<li>Noteworthy changes in release 2.5.2 (2024-08-29) [beta]
</li>
</ul>
<p>
<br />
** Bug fixes:
<br />
<br />
- Use shared objects built in source tree instead of the installed
<br />
versions for more reliable testing.
<br />
<br />
- Fix test in bug_62343.at for confirmed Cygwin/Mingw32 where the
<br />
incorrect architecture version of a compiler was generating
<br />
object files that could not be linked with a library file.
<br />
<br />
- Fix typos found with codespell.
<br />
<br />
** Changes in supported systems or compilers:
<br />
<br />
- Add support for 32-bit mode on FreeBSD/powerpc64.
<br />
<br />
<br />
Enjoy!<br />
</p> Thu, 29 Aug 2024 15:11:49 +0000GNU MediaGoblin: MediaGoblin 0.14.0tag:mediagoblin.org,2024-08-29:/news/mediagoblin-0.14.0-release.html
https://mediagoblin.org/news/mediagoblin-0.14.0-release.html
<p>We're pleased to announce the release of GNU MediaGoblin 0.14.0. See the
<a href="https://docs.mediagoblin.org/en/stable/siteadmin/relnotes.html">release notes</a>
for full details and upgrading instructions.</p>
<p>Highlights of this release are:</p>
<ul>
<li>Preliminary support for Docker installation</li>
<li>Preliminary support for OS packaging on GNU Guix</li>
<li>Major configure/build overhaul</li>
<li>Extended configuration documentation</li>
</ul>
<p>This version has been tested on Debian Bookworm (12), Ubuntu 20.04, Ubuntu
22.04, Ubuntu 24.04 and Fedora 39.</p>
<p>Thanks go to co-maintainer Olivier Mehani for his major contributions in this
release!</p>
<p>To join us and help improve MediaGoblin, please visit our <a href="https://mediagoblin.org/pages/join.html">getting
involved</a> page.</p> Thu, 29 Aug 2024 05:00:00 +0000GNU Taler news: GNU Taler 0.13 releasedhttps://taler.net/en/news/2024-24.html
https://taler.net/en/news/2024-24.html
<article>
We are happy to announce the release of GNU Taler v0.13.
</article> Wed, 28 Aug 2024 22:00:00 +0000GNUnet News: GNUnet 0.22.0https://gnunet.org/en/news/2024-08-0.22.0.html
https://gnunet.org/en/news/2024-08-0.22.0.html
<article id="newspost-content">
<h1>
GNUnet 0.22.0 released
</h1>
<p>
We are pleased to announce the release of GNUnet 0.22.0.
<br />
GNUnet is an alternative network stack for building secure, decentralized and
privacy-preserving distributed applications.
Our goal is to replace the old insecure Internet protocol stack.
Starting from an application for secure publication of files, it has grown to
include all kinds of basic protocol components and applications towards the
creation of a GNU internet.
</p>
<p>
This is a new major release.
It breaks protocol compatibility with the 0.21.x versions.
Please be aware that Git master is thus henceforth (and has been for a
while)
<b>
INCOMPATIBLE
</b>
with
the 0.21.x GNUnet network, and interactions between old and new peers
will result in issues.
In terms of usability, users should be aware that there are still
<b>
a number of known open issues
</b>
in particular with respect to ease
of use, but also some critical privacy issues especially for mobile users.
Also, the nascent network is tiny and thus unlikely to
provide good anonymity or extensive amounts of interesting information.
As a result, the 0.22.0 release is still
<b>
only suitable for early adopters
with some reasonable pain tolerance
</b>
.
</p>
<h4>
Download links
</h4>
<ul>
<li>
<a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.22.0.tar.gz">
gnunet-0.22.0.tar.gz
</a>
(
<a href="http://ftpmirror.gnu.org/gnunet/gnunet-0.22.0.tar.gz.sig">
signature
</a>
)
</li>
<li>
<a href="https://buildbot.gnunet.org/releases/gnunet-0.22.0-meson.tar.gz">
gnunet-0.22.0-meson.tar.gz
</a>
(
<a href="https://buildbot.gnunet.org/releases/gnunet-0.22.0-meson.tar.gz.sig">
signature
</a>
)
<i>
NEW: Test tarball made using the meson build system.
</i>
</li>
<li>
<a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.22.0.tar.gz">
gnunet-gtk-0.22.0.tar.gz
</a>
(
<a href="http://ftpmirror.gnu.org/gnunet/gnunet-gtk-0.22.0.tar.gz.sig">
signature
</a>
)
</li>
<li>
<a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.22.0.tar.gz">
gnunet-fuse-0.22.0.tar.gz
</a>
(
<a href="http://ftpmirror.gnu.org/gnunet/gnunet-fuse-0.22.0.tar.gz.sig">
signature
</a>
)
</li>
</ul>
<p>
The GPG key used to sign is:
<a href="https://www.gnunet.org/~schanzen/3D11063C10F98D14BD24D1470B0998EF86F59B6A">
3D11063C10F98D14BD24D1470B0998EF86F59B6A
</a>
</p>
<p>
Note that due to mirror synchronization, not all links might be functional
early after the release. For direct access try
<a href="http://ftp.gnu.org/gnu/gnunet/">
http://ftp.gnu.org/gnu/gnunet/
</a>
</p>
<h4>
Changes
</h4>
<p>
A detailed list of changes can be found in the
<a href="https://git.gnunet.org/gnunet.git/log/?h=v0.22.0">
git log
</a>
, the
<a href="https://git.gnunet.org/gnunet.git/tree/NEWS?h=v0.22.0">
NEWS
</a>
and
the
<a href="https://bugs.gnunet.org/changelog_page.php?version_id=438">
bug tracker
</a>
.
Noteworthy highlights are
</p>
<ul>
<li>
<tt>
transport
</tt>
:
<ul>
<li>
A new experimental HTTP/3 communicator for peer-to-peer transport communicator.
</li>
<li>
New experimental NAT traversal functionality.
</li>
</ul>
</li>
<li>
<tt>
util
</tt>
:
<ul>
<li>
An implementation of
<a href="https://datatracker.ietf.org/doc/rfc9180/">
Hybrid Public Key Encryption (HPKE)
</a>
and related KEMs which are now used across the stack.
</li>
<li>
An implementation of
<a href="https://elligator.org/">
Elligator
</a>
used as part of our Diffie-Hellman exchanges and KEMs
</li>
</ul>
</li>
<li>
<tt>
hostlist
</tt>
: The bootstrap URL is changed to
<a href="https://bootstrap.gnunet.org/v22">
https://bootstrap.gnunet.org/v22
</a>
and
<a href="https://bootstrap.gnunet.org/latest">
https://bootstrap.gnunet.org/latest
</a>
for the release and development version (git head), respectively.
</li>
<li>
<tt>
gnunet-hello
</tt>
: A
<a href="https://bugs.gnunet.org/view.php?id=9043">
new CLI
</a>
to import/export connectivity information (HELLOs) of peers manually.
</li>
<li>
<tt>
namestore
</tt>
: Significant zone import performance improvements in preparation for
<a href="https://www.gnunet.org/en/news/2022-11-NGI-Entrust-GNS-TLDs.html">
DNS TLD mirror deployments (.se, .nu, etc)
</a>
.
</li>
<li>
<tt>
messenger
</tt>
:
<ul>
<li>
Implementation of discourse subscriptions for live data streaming in chat rooms.
</li>
<li>
New functionality in CLI for the Messenger service to stream data via standard input and output.
</li>
</ul>
</li>
<li>
<tt>
Build System
</tt>
:
<ul>
<li>
Build variant to build a monolithic GNUnet library.
</li>
<li>
Cross compile the monolithic library for use on Android devices. An Android prototype can be found in this
<a href="https://git.gnunet.org/gnunet-android.git">
repository.
</a>
</li>
</ul>
</li>
</ul>
<h4>
Known Issues
</h4>
<ul>
<li>
There are known major design issues in the CORE subsystems which will need to be addressed in the future to achieve acceptable usability, performance and security.
</li>
<li>
There are known moderate implementation limitations in CADET that negatively impact performance.
</li>
<li>
There are known moderate design issues in FS that also impact usability and performance.
</li>
<li>
There are minor implementation limitations in SET that create unnecessary attack surface for availability.
</li>
<li>
The RPS subsystem remains experimental.
</li>
</ul>
<p>
In addition to this list, you may also want to consult our bug tracker at
<a href="https://bugs.gnunet.org/">
bugs.gnunet.org
</a>
which lists about 190 more specific issues.
</p>
<h4>
Thanks
</h4>
<p>
This release was the work of many people. The following people contributed code and were thus easily identified:
Christian Grothoff, t3sserakt, TheJackiMonster, Pedram Fardzadeh, Shichao, fence, dvn, nullptrderef and Martin Schanzenbach.
</p>
<h2>
libgnunetchat 0.5.1 released
</h2>
<p>
Additionally there's a minor release of libgnunetchat 0.5.1 which fixes multiple issues to improve overall reliability.
</p>
<h4>
Download links
</h4>
<ul>
<li>
<a href="http://ftpmirror.gnu.org/gnunet/libgnunetchat-0.5.1.tar.gz">
libgnunetchat-0.5.1.tar.gz
</a>
</li>
<li>
<a href="http://ftpmirror.gnu.org/gnunet/libgnunetchat-0.5.1.tar.gz.sig">
libgnunetchat-0.5.1.tar.gz.sig
</a>
</li>
</ul>
<h4>
Noteworthy changes in 0.5.1
</h4>
<ul>
<li>
Fixes discourses stalling application on exit of its process.
</li>
<li>
Fixes comparison of egos for proper account management.
</li>
<li>
Implements automatic Github workflow for builds and testing.
</li>
<li>
Fixes destruction of contacts and lobbies.
</li>
<li>
Adjust internal message handling.
</li>
<li>
Adjust all test cases to run independent of each other.
</li>
<li>
Add test case for group opening and leaving.
</li>
</ul>
<p>
A detailed list of changes can be found in the
<a href="https://git.gnunet.org/libgnunetchat.git/tree/ChangeLog">
ChangeLog
</a>
.
</p>
<h2>
Messenger-GTK 0.10.1
</h2>
<p>
Utilizing latest changes in GNUnet and libgnunetchat, there's a new release of the messenger application bringing live chats which allow streaming your own voice or video with other contacts. This release requires libgnunetchat 0.5.1.
</p>
<h4>
Download links
</h4>
<ul>
<li>
<a href="http://ftpmirror.gnu.org/gnunet/messenger-gtk-0.10.1.tar.gz">
messenger-gtk-0.10.1.tar.gz
</a>
</li>
<li>
<a href="http://ftpmirror.gnu.org/gnunet/messenger-gtk-0.10.1.tar.gz.sig">
messenger-gtk-0.10.1.tar.gz.sig
</a>
</li>
</ul>
<h4>
Noteworthy changes in 0.10.1
</h4>
<ul>
<li>
Discourses have been added for live voice and video chats with other contacts.
</li>
<li>
Capturing a specific application or a whole monitor can be selected as video source in a live chat.
</li>
</ul>
<p>
Keep in mind the application is still in development. So there may still be major bugs keeping you from getting a reliable connection. But if you encounter such issue, feel free to consult our bug tracker at
<a href="https://bugs.gnunet.org/">
bugs.gnunet.org
</a>
.
</p>
</article> Wed, 28 Aug 2024 22:00:00 +0000screen @ Savannah: GNU Screen v.5.0.0 is releasedhttps://savannah.gnu.org/news/?id=10668
https://savannah.gnu.org/news/?id=10668
<p>Screen is a full-screen window manager that multiplexes a physical
<br />
terminal between several processes, typically interactive shells.
<br />
<br />
The 5.0.0 release includes the following changes to the previous
<br />
release 4.9.1:
<br />
<br />
</p>
<ul>
<li>Rewritten authentication mechanism
</li>
<li>Add escape %T to show current tty for window
</li>
<li>Add escape %O to show number of currently open windows
</li>
<li>Use wcwdith() instead of UTF-8 hard-coded tables
</li>
<li>New commands:
</li>
</ul>
<p> - auth [on|off]
<br />
Provides password protection
<br />
- status [top|up|down|bottom] [left|right]
<br />
The status window by default is in bottom-left corner.
<br />
This command can move status messages to any corner of the screen.
<br />
- truecolor [on|off]
<br />
- multiinput
<br />
Input to multiple windows at the same time
<br />
</p>
<ul>
<li>Removed commands:
</li>
</ul>
<p> - time
<br />
- debug
<br />
- password
<br />
- maxwin
<br />
- nethack
<br />
</p>
<ul>
<li>Fixes:
</li>
</ul>
<p> - Screen buffers ESC keypresses indefinitely
<br />
- Crashes after passing through a zmodem transfer
<br />
- Fix double -U issue
<br />
<br />
Release is available for download:
<br />
<a href="https://ftp.gnu.org/gnu/screen/">https://ftp.gnu.org/gnu/screen/</a>
<br />
<br />
Please report any bugs or regressions.
<br />
Thanks to everyone who contributed to this release.
<br />
<br />
Cheers,
<br />
Alex<br />
</p> Wed, 28 Aug 2024 21:41:30 +0000FSF News: Thank you Odile Bénassy for four years of service on the FSF Board of Directors!http://www.fsf.org/news/thank-you-odile-benassy-for-4-years-of-service-on-the-fsf-board-of-directors
http://www.fsf.org/news/thank-you-odile-benassy-for-4-years-of-service-on-the-fsf-board-of-directors
BOSTON (August 27, 2024) -- Free Software Foundation (FSF) Board Member Odile Bénassy has stepped down from the Board after four years of service. Tue, 27 Aug 2024 18:05:00 +0000GNUnet News: GSoC Work Product: GNUnet over HTTP3https://gnunet.org/en/news/2024-08-GSoC-HTTP3.html
https://gnunet.org/en/news/2024-08-GSoC-HTTP3.html
<article id="newspost-content">
<h1>
GSoC Work Product: GNUnet over HTTP/3
</h1>
<h2>
Goals of the Project.
</h2>
<p>
This project aimed to implement a new communicator for GNUnet's Transport Next Generation (TNG) using the HTTP/3 protocol.
</p>
<h2>
What I did.
</h2>
<p>
We chose ngtcp2 and nghttp3 for their stability and adherence to RFC standards.
I began by studying communicator fundamentals and analyzing relevant code examples.
I then created a QUIC communicator using libngtcp2, implementing essential communication features.
Building on this, I integrated libnghttp3 to support HTTP/3 layer communication.
After establishing basic uni-directional communication, I proceeded to implement bi-directional capabilities.
With the help and guidance of my mentors, I completed the above work, including the selection and design of message transmission methods and the implementation of code.
</p>
<h2>
The current state.
</h2>
<p>
We have two branches,
<a href="https://git.gnunet.org/gnunet.git/log/?h=dev/shichao/http3">
dev/shichao/http3
</a>
for basic communication and
<a href="https://git.gnunet.org/gnunet.git/log/?h=dev/shichao/http3bidirect">
dev/shichao/http3bidirect
</a>
for bi-directional communication.
They can pass the basic tests.
However, we found that there were occasional failures during the test.
We currently assume that this is caused by the test harness not being able to process the
received data packets in time.
</p>
<h2>
What's left to do.
</h2>
<p>
There are still many areas that can be improved in the HTTP/3 communicator, such as using CID map instead of IP
address map.
In addition, in bi-directional communication, the server's sending rate is slightly lower than the client's transmission rate, and this will be optimized in the future.
Finally, integrating the Peer Identity into the TLS handshake in order to authenticate the peers is a natural
feature to implement.
</p>
<h2>
What code got merged (or not) upstream.
</h2>
<p>
All the code is available upstream in the master branch and will be available with the next release.
</p>
<h2>
Challenges I Encountered.
</h2>
<p>
Initially, I was unfamiliar with the ngtcp2 and nghttp3 libraries. While there were some examples available, I found limited guidance for more advanced usage. Through careful study and experimentation, I gradually gained a deeper understanding of these libraries.
But in this process, I have a deeper understanding of QUIC and HTTP/3 protocols, and also improved my coding skills.
</p>
</article> Sat, 24 Aug 2024 22:00:00 +0000parallel @ Savannah: GNU Parallel 20240822 ('Southport') releasedhttps://savannah.gnu.org/news/?id=10666
https://savannah.gnu.org/news/?id=10666
<p>GNU Parallel 20240822 ('Southport') has been released. It is available for download at: lbry://@GnuParallel:4
<br />
<br />
Quote of the month:
<br />
<br />
honestly the coolest software i've ever seen gotta be gnu parallel or
<br />
ffmpeg, nothing like them
<br />
-- @scootykins scoot
<br />
<br />
New in this release:
<br />
</p>
<ul>
<li>--match Match input source with regexp to set replacement fields.
</li>
<li>{:%fmt} Use printf formatting of replacement strings.
</li>
<li>Bug fixes and man page updates.
</li>
</ul>
<p>
<br />
News about GNU Parallel:
<br />
</p>
<ul>
<li>Powerful GNU parallel, more than a loop <a href="https://www.linkedin.com/pulse/powerful-gnu-parallel-more-than-loop-zhenguo-zhang-18dxc">https://www.linkedin.com/pulse/powerful-gnu-parallel-more-than-loop-zhenguo-zhang-18dxc</a>
</li>
<li>How To Increase File Transfer Speed Using Parallel Rsync? <a href="https://contentbase.com/blog/increase-file-transfer-speed-parallel-rsync/">https://contentbase.com/blog/increase-file-transfer-speed-parallel-rsync/</a>
</li>
<li>Converting WebP Images to PNG Using parallel and dwebp <a href="https://bytefreaks.net/2024/07/27">https://bytefreaks.net/2024/07/27</a>
</li>
<li>Turbocharging the Box CLI with GNU Parallel <a href="https://medium.com/box-developer-blog/turbocharging-the-box-cli-with-gnu-parallel-ee44c48811c0">https://medium.com/box-developer-blog/turbocharging-the-box-cli-with-gnu-parallel-ee44c48811c0</a>
</li>
</ul>
<p>
<br />
GNU Parallel - For people who live life in the parallel lane.
<br />
<br />
If you like GNU Parallel record a video testimonial: Say who you are, what you use GNU Parallel for, how it helps you, and what you like most about it. Include a command that uses GNU Parallel if you feel like it.
<br />
<br />
<br />
</p>
<h2>About GNU Parallel</h2>
<p>
<br />
GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.
<br />
<br />
If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.
<br />
<br />
GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.
<br />
<br />
For example you can run this to convert all jpeg files into png and gif files and have a progress bar:
<br />
<br />
parallel --bar convert {1} {1.}.{2} ::: *.jpg ::: png gif
<br />
<br />
Or you can generate big, medium, and small thumbnails of all jpeg files in sub dirs:
<br />
<br />
find . -name '*.jpg' |
<br />
parallel convert -geometry {2} {1} {1//}/thumb{2}_{1/} :::: - ::: 50 100 200
<br />
<br />
You can find more about GNU Parallel at: <a href="http://www.gnu.org/s/parallel/">http://www.gnu.org/s/parallel/</a>
<br />
<br />
You can install GNU Parallel in just 10 seconds with:
<br />
<br />
$ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \
<br />
fetch -o - <a href="http://pi.dk/3">http://pi.dk/3</a> ) > install.sh
<br />
$ sha1sum install.sh | grep 883c667e01eed62f975ad28b6d50e22a
<br />
12345678 883c667e 01eed62f 975ad28b 6d50e22a
<br />
$ md5sum install.sh | grep cc21b4c943fd03e93ae1ae49e28573c0
<br />
cc21b4c9 43fd03e9 3ae1ae49 e28573c0
<br />
$ sha512sum install.sh | grep ec113b49a54e705f86d51e784ebced224fdff3f52
<br />
79945d9d 250b42a4 2067bb00 99da012e c113b49a 54e705f8 6d51e784 ebced224
<br />
fdff3f52 ca588d64 e75f6033 61bd543f d631f592 2f87ceb2 ab034149 6df84a35
<br />
$ bash install.sh
<br />
<br />
Watch the intro video on <a href="http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1">http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1</a>
<br />
<br />
Walk through the tutorial (man parallel_tutorial). Your command line will love you for it.
<br />
<br />
When using programs that use GNU Parallel to process data for publication please cite:
<br />
<br />
O. Tange (2018): GNU Parallel 2018, March 2018, <a href="https://doi.org/10.5281/zenodo.1146014">https://doi.org/10.5281/zenodo.1146014</a>.
<br />
<br />
If you like GNU Parallel:
<br />
<br />
</p>
<ul>
<li>Give a demo at your local user group/team/colleagues
</li>
<li>Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists
</li>
<li>Get the merchandise <a href="https://gnuparallel.threadless.com/designs/gnu-parallel">https://gnuparallel.threadless.com/designs/gnu-parallel</a>
</li>
<li>Request or write a review for your favourite blog or magazine
</li>
<li>Request or build a package for your favourite distribution (if it is not already there)
</li>
<li>Invite me for your next conference
</li>
</ul>
<p>
<br />
If you use programs that use GNU Parallel for research:
<br />
<br />
</p>
<ul>
<li>Please cite GNU Parallel in you publications (use --citation)
</li>
</ul>
<p>
<br />
If GNU Parallel saves you money:
<br />
<br />
</p>
<ul>
<li>(Have your company) donate to FSF <a href="https://my.fsf.org/donate/">https://my.fsf.org/donate/</a>
</li>
</ul>
<p>
<br />
<br />
</p>
<h2>About GNU SQL</h2>
<p>
<br />
GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.
<br />
<br />
The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.
<br />
<br />
When using GNU SQL for a publication please cite:
<br />
<br />
O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.
<br />
<br />
<br />
</p>
<h2>About GNU Niceload</h2>
<p>
<br />
GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.<br />
</p> Wed, 21 Aug 2024 20:09:13 +0000www-zh-cn @ Savannah: Join us in saying goodbye to our beloved FSF office on August 16!https://savannah.gnu.org/news/?id=10665
https://savannah.gnu.org/news/?id=10665
<p>Dear Translators:
<br />
<br />
The FSF is officially going remote, so come visit the FSF office one last time. After August 31st, FSF will no longer be residing at the office on 51 Franklin Street.
<br />
<br />
For the final time, FSF will open the office to everyone who would like to visit the office one last time on Friday, August 16th from 6:00 p.m. - 8:30 p.m. for the move-out party.
<br />
<br />
You can also leave your words at the member forum:
<br />
<a href="https://forum.members.fsf.org/t/we-are-closing-down-the-51-franklin-street-office-do-you-have-any-memories-to-share/5614">https://forum.members.fsf.org/t/we-are-closing-down-the-51-franklin-street-office-do-you-have-any-memories-to-share/5614</a>
<br />
<br />
You can write your own blog as I have done:
<br />
<a href="https://liberal.codeberg.page/goodbye-51-franklin-street.html">https://liberal.codeberg.page/goodbye-51-franklin-street.html</a>
<br />
<br />
May FSF long live in our mind.<br />
</p> Fri, 16 Aug 2024 08:15:50 +0000rush @ Savannah: GNU Rush Version 2.4https://savannah.gnu.org/news/?id=10663
https://savannah.gnu.org/news/?id=10663
<p>Version 2.4 of GNU Rush is available <a href="https://ftp.gnu.org/gnu/rush/rush-2.4.tar.gz">for download</a>.
<br />
<br />
New in this release:
<br />
<br />
</p>
<ul>
<li>Use <a href="https://man7.org/linux/man-pages/man3/getgrouplist.3.html">getgrouplist</a>(3) call, if available;
</li>
<li>Fixes in the <i>rush-po</i> script;
</li>
<li>Bugfixes
</li>
</ul> Fri, 09 Aug 2024 12:37:38 +0000health @ Savannah: GNU Health Hospital Management patchset 4.4.1 releasedhttps://savannah.gnu.org/news/?id=10662
https://savannah.gnu.org/news/?id=10662
<p>Dear community
<br />
<br />
GNU Health Hospital Management 4.4.1 has been released!
<br />
<br />
<b>Priority</b>: High
<br />
<br />
</p>
<h2>Table of Contents</h2>
<p>
<br />
</p>
<ul>
<li>About GNU Health Patchsets
</li>
<li>Updating your system with the GNU Health control Center
</li>
<li>Installation notes
</li>
<li>List of other issues related to this patchset
</li>
</ul>
<p>
<br />
</p>
<h2>About GNU Health Patchsets</h2>
<p>
<br />
We provide "patchsets" to stable releases. Patchsets allow applying bug fixes and updates on production systems. Always try to keep your production system up-to-date with the latest patches.
<br />
<br />
Patches and Patchsets maximize uptime for production systems, and keep your system updated, without the need to do a whole installation.
<br />
<br />
NOTE: Patchsets are applied on previously installed systems only. For new, fresh installations, download and install the whole tarball (ie, gnuhealth-4.4.1.tar.gz)
<br />
<br />
</p>
<h2>Updating your system with the GNU Health control Center</h2>
<p>
<br />
You can do automatic updates on the GNU Health HMIS kernel and modules using the GNU Health control center program.
<br />
<br />
Please refer to the administration manual section ( <a href="https://docs.gnuhealth.org/his/techguide/administration/controlcenter.html">https://docs.gnuhealth.org/his/techguide/administration/controlcenter.html</a> )
<br />
<br />
The GNU Health control center works on standard installations (those done following the installation manual on wikibooks). Don't use it if you use an alternative method or if your distribution does not follow the GNU Health packaging guidelines.
<br />
<br />
</p>
<h2>Installation Notes</h2>
<p>
<br />
You must apply previous patchsets before installing this patchset. If your patchset level is 4.4.0, then just follow the general instructions. You can find the patchsets at GNU Health main download site at GNU.org (<a href="https://ftp.gnu.org/gnu/health/">https://ftp.gnu.org/gnu/health/</a>)
<br />
<br />
In most cases, GNU Health Control center (gnuhealth-control) takes care of applying the patches for you.
<br />
<br />
Pre-requisites for upgrade to 4.4.1: None
<br />
<br />
Now follow the general instructions at
<br />
<a href="https://docs.gnuhealth.org/his/techguide/administration/controlcenter.html">https://docs.gnuhealth.org/his/techguide/administration/controlcenter.html</a>
<br />
<br />
<br />
After applying the patches, make a full update of your GNU Health database as explained in the documentation.
<br />
<br />
When running "gnuhealth-control" for the first time, you will see the following message: "Please restart now the update with the new control center" Please do so. Restart the process and the update will continue.
<br />
<br />
</p>
<ul>
<li>Restart the GNU Health server
</li>
</ul>
<p>
<br />
</p>
<h2>List of other issues and tasks related to this patchset</h2>
<p>
<br />
</p>
<ul>
<li>Issue #15: readfp on setup.py no longer supported since python 3.12 <a href="https://codeberg.org/gnuhealth/his/issues/15">https://codeberg.org/gnuhealth/his/issues/15</a>
</li>
<li>Issue #33: health orthanc: Errors on imaging request when worklist template set on imaging test type <a href="https://codeberg.org/gnuhealth/his/issues/33">https://codeberg.org/gnuhealth/his/issues/33</a>
</li>
</ul>
<p>
<br />
For detailed information about each issue, you can visit :
<br />
<a href="https://codeberg.org/gnuhealth/his/issues">https://codeberg.org/gnuhealth/his/issues</a>
<br />
<br />
<br />
For detailed information you can read about Patches and Patchsets
<br />
</p>
<ul>
<li><a href="https://docs.gnuhealth.org/his/techguide/administration/patches.html">https://docs.gnuhealth.org/his/techguide/administration/patches.html</a>
</li>
</ul>
<p>
<br />
Happy hacking!<br />
</p> Thu, 01 Aug 2024 20:15:53 +0000GNU Taler news: GNU Taler 0.12 releasedhttps://taler.net/en/news/2024-23.html
https://taler.net/en/news/2024-23.html
<article>
We are happy to announce the release of GNU Taler v0.12.
</article> Sun, 28 Jul 2024 22:00:00 +0000libtool @ Savannah: libtool-2.5.1 released [beta]https://savannah.gnu.org/news/?id=10660
https://savannah.gnu.org/news/?id=10660
<p>Libtoolers!
<br />
<br />
The Libtool Team is pleased to announce the release of libtool 2.5.1, a beta release.
<br />
<br />
GNU Libtool hides the complexity of using shared libraries behind a
<br />
consistent, portable interface. GNU Libtool ships with GNU libltdl, which
<br />
hides the complexity of loading dynamic runtime libraries (modules)
<br />
behind a consistent, portable interface.
<br />
<br />
There have been 33 commits by 8 people in the 10 weeks since 2.5.0.
<br />
<br />
See the NEWS below for a brief summary.
<br />
<br />
Thanks to everyone who has contributed!
<br />
The following people contributed changes to this release:
<br />
<br />
Bruno Haible (3)
<br />
Ileana Dumitrescu (24)
<br />
Julien ÉLIE (1)
<br />
Khem Raj (1)
<br />
Peter Kokot (1)
<br />
Richard Purdie (1)
<br />
Vincent Lefevre (1)
<br />
trcrsired (1)
<br />
<br />
Ileana
<br />
[on behalf of the libtool maintainers]
<br />
==================================================================
<br />
<br />
Here is the GNU libtool home page:
<br />
<a href="https://gnu.org/s/libtool/">https://gnu.org/s/libtool/</a>
<br />
<br />
For a summary of changes and contributors, see:
<br />
<a href="https://git.sv.gnu.org/gitweb/?p=libtool.git;a=shortlog;h=v2.5.1">https://git.sv.gnu.org/gitweb/?p=libtool.git;a=shortlog;h=v2.5.1</a>
<br />
or run this command from a git-cloned libtool directory:
<br />
git shortlog v2.5.0..v2.5.1
<br />
<br />
Here are the compressed sources:
<br />
<a href="https://alpha.gnu.org/gnu/libtool/libtool-2.5.1.tar.gz">https://alpha.gnu.org/gnu/libtool/libtool-2.5.1.tar.gz</a> (1.9MB)
<br />
<a href="https://alpha.gnu.org/gnu/libtool/libtool-2.5.1.tar.xz">https://alpha.gnu.org/gnu/libtool/libtool-2.5.1.tar.xz</a> (1020KB)
<br />
<br />
Here are the GPG detached signatures:
<br />
<a href="https://alpha.gnu.org/gnu/libtool/libtool-2.5.1.tar.gz.sig">https://alpha.gnu.org/gnu/libtool/libtool-2.5.1.tar.gz.sig</a>
<br />
<a href="https://alpha.gnu.org/gnu/libtool/libtool-2.5.1.tar.xz.sig">https://alpha.gnu.org/gnu/libtool/libtool-2.5.1.tar.xz.sig</a>
<br />
<br />
Use a mirror for higher download bandwidth:
<br />
<a href="https://www.gnu.org/order/ftp.html">https://www.gnu.org/order/ftp.html</a>
<br />
<br />
Here are the SHA1 and SHA256 checksums:
<br />
<br />
5e2f00be5b616b0a6120b2947e562b8448e139b2 libtool-2.5.1.tar.gz
<br />
aoPtr9QtTi69wJV5+ZzoKNX5MvFzjeAklcyMKITkMM4= libtool-2.5.1.tar.gz
<br />
9f72b896f593c4f81cdd6c20c9d99463663e48a9 libtool-2.5.1.tar.xz
<br />
0oDmTIzb8UXXb7kbOyGe2rAb20PLmUAuSsuX0BAGNv0= libtool-2.5.1.tar.xz
<br />
<br />
Verify the base64 SHA256 checksum with cksum -a sha256 --check
<br />
from coreutils-9.2 or OpenBSD's cksum since 2007.
<br />
<br />
Use a .sig file to verify that the corresponding file (without the
<br />
.sig suffix) is intact. First, be sure to download both the .sig file
<br />
and the corresponding tarball. Then, run a command like this:
<br />
<br />
gpg --verify libtool-2.5.1.tar.gz.sig
<br />
<br />
The signature should match the fingerprint of the following key:
<br />
<br />
pub rsa4096 2021-09-23 [SC]
<br />
FA26 CA78 4BE1 8892 7F22 B99F 6570 EA01 146F 7354
<br />
uid Ileana Dumitrescu <[email protected]>
<br />
uid Ileana Dumitrescu <[email protected]>
<br />
<br />
If that command fails because you don't have the required public key,
<br />
or that public key has expired, try the following commands to retrieve
<br />
or refresh it, and then rerun the 'gpg --verify' command.
<br />
<br />
gpg --locate-external-key <a href="mailto:[email protected]">[email protected]</a>
<br />
<br />
gpg --recv-keys 6570EA01146F7354
<br />
<br />
wget -q -O- '<a href="https://savannah.gnu.org/project/release-gpgkeys.php?group=libtool&download=1">https://savannah.gnu.org/project/release-gpgkeys.php?group=libtool&download=1</a>' | gpg --import -
<br />
<br />
As a last resort to find the key, you can try the official GNU
<br />
keyring:
<br />
<br />
wget -q <a href="https://ftp.gnu.org/gnu/gnu-keyring.gpg">https://ftp.gnu.org/gnu/gnu-keyring.gpg</a>
<br />
gpg --keyring gnu-keyring.gpg --verify libtool-2.5.1.tar.gz.sig
<br />
<br />
This release was bootstrapped with the following tools:
<br />
Autoconf 2.72e
<br />
Automake 1.17
<br />
Gnulib v1.0-563-gd3efdd55f3
<br />
<br />
NEWS
<br />
<br />
</p>
<ul>
<li>Noteworthy changes in release 2.5.1 (2024-07-25) [beta]
</li>
</ul>
<p>
<br />
** New features:
<br />
<br />
- Support C++17 compilers in the C++ tests.
<br />
<br />
- Add sysroot to library path for cross builds.
<br />
<br />
** Important incompatible changes:
<br />
<br />
- Autoconf 2.64 is required for libtool.m4 to use AS_VAR_APPEND.
<br />
<br />
** Bug fixes:
<br />
<br />
- Fix for uninitialized variable in libtoolize.
<br />
<br />
- Skip Fortran/C demo tests when using Clang with fsanitize to
<br />
avoid an incompatible ASan runtime.
<br />
<br />
- Updated documentation for testing.
<br />
<br />
- Fix failing test to account for program-prefix usage.
<br />
<br />
- Replaced a deprecated macro to remove warning messages in the
<br />
testsuite logs.
<br />
<br />
- Fix number of arguments for AC_CHECK_PROG call.
<br />
<br />
- Fix test failures with no-canonical-prefixes flag by checking
<br />
if the flag is supported first.
<br />
<br />
- Fix test failures with no-undefined flag by checking host OS
<br />
before appending the flag.
<br />
<br />
- Skip test when passing CXX flags through libtool to avoid test
<br />
failure on NetBSD.
<br />
<br />
- Remove texinfo warning for period in node name of pxref.
<br />
<br />
- Alter syntax in sed command to fix numerous test failures
<br />
on 64-bit windows/cygwin/mingw.
<br />
<br />
- Fix 'Wstrict-prototypes' warnings.
<br />
<br />
- Correct DLL Installation Path for mingw multilib builds.
<br />
<br />
- Fix '--preserve-dup-deps' stripping duplicates.
<br />
<br />
- Disable chained fixups for macOS, since it is not compatible with
<br />
'-undefined dynamic_lookup'.
<br />
<br />
** Changes in supported systems or compilers:
<br />
<br />
- Support additional flang-based compilers, 'flang-new' and 'ftn'.
<br />
<br />
<br />
Enjoy!<br />
</p> Thu, 25 Jul 2024 15:18:12 +0000Gary Benson: Python atomic counterhttps://gbenson.net/?p=967
https://gbenson.net/python-atomic-counter/
<p>Do you need a thread-safe atomic counter in Python? Use <a href="https://docs.python.org/3/library/itertools.html#itertools.count"><code>itertools.count()</code></a>:</p>
<pre style="font-size: 80%;">>>> <strong><span style="color: purple;">from</span> itertools <span style="color: purple;">import</span> count</strong>
>>> <strong><span style="color: blue;">counter</span> = count()</strong>
>>> <strong><span style="color: navy;">next</span>(counter)</strong>
0
>>> <strong><span style="color: navy;">next</span>(counter)</strong>
1
>>> <strong><span style="color: navy;">next</span>(counter)</strong>
2</pre>
<p>I found this in the <a href="https://pypi.org/project/decorator/">decorator</a> package, labelled <em><q>Atomic get-and-increment provided by the GIL</q></em>. So simple! So cool!</p> Thu, 25 Jul 2024 11:09:09 +0000FSF News: Let's not celebrate CrowdStrike -- let's point to a better wayhttp://www.fsf.org/news/lets-not-celebrate-crowdstrike-lets-point-to-a-better-way
http://www.fsf.org/news/lets-not-celebrate-crowdstrike-lets-point-to-a-better-way
Wed, 24 Jul 2024 21:05:00 +0000GNU Guix: The European Union must keep funding free softwarehttps://guix.gnu.org/blog/2024/the-european-union-must-keep-funding-free-software//
https://guix.gnu.org/blog/2024/the-european-union-must-keep-funding-free-software//
<p>Guix is the fruit of a combination of volunteer work by an amazing
number of people, work paid for by employers, but also work sponsored by
public institutions. The European Commission’s <a href="https://www.ngi.eu">Next Generation
Internet</a> (NGI) calls have been instrumental in that
regard. News that NGI funding could vanish came to us as a warning
signal.</p><p>Since 2020, NGI has supported many free software projects, allowing for
significant strides on important topics that would otherwise be hard to
fund. As an example, here are some of the NGI grants that directly
benefited Guix and related projects:</p><ul><li>the <a href="https://nlnet.nl/project/GNUMes-fullsource">full-source
bootstrap</a>, which
includes groundwork not just in Guix but crucially in
<a href="https://www.gnu.org/software/mes">Mes</a> and sister projects (<a href="https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-building-from-source-all-the-way-down/">blog
post</a>);</li><li><a href="https://nlnet.nl/project/Guix-Riscv64/">porting Guix to the RISC-V
architecture</a>;</li><li><a href="https://nlnet.nl/project/GNUMes-RISCV/">porting GNU Mes and associated projects to
RISC-V</a> and
<a href="https://nlnet.nl/project/GNUMes-ARM_RISC-V">AArch64</a>;</li><li><a href="https://nlnet.nl/project/GNUMes-RISCV-bootstrap/">porting the full-source bootstrap to the RISC-V
architecture</a>;</li><li>the <a href="https://nlnet.nl/project/Cuirass">Cuirass continuous integration
tool</a> (<a href="https://guix.gnu.org/en/blog/2021/cuirass-10-released/">blog
post</a>);</li><li>the <a href="https://nlnet.nl/project/GuixDaemon-Guile/">Guile implementation of the Guix build
daemon</a> (<a href="https://guix.gnu.org/en/blog/2023/a-build-daemon-in-guile/">blog
post</a>);</li><li><a href="https://nlnet.nl/project/DistributedShepherd/">distributed system daemon management with the Shepherd
and Goblins</a>, under
the aegis of the Spritely Institute (<a href="https://spritely.institute/news/spritely-nlnet-grants-december-2023.html">blog
post</a>).</li><li>a <a href="https://nlnet.nl/project/Whippet/">new garbage collector for
Guile</a>, the Scheme implementation
that Guix builds upon.</li></ul><p>Over the years, NGI has more than demonstrated that public financial
support for free software development makes a difference. We strongly
believe that this support must continue, that it must strengthen the
development of innovative software where user autonomy and freedom is a
central aspect.</p><p>For these reasons, the Guix project joins a growing number of projects
and organizations in signing the following open letter to the European
Commission.</p><blockquote><p>The open letter below was initially published by <a href="https://ps.zoethical.org/pub/lettre-publique-aux-ncp-au-sujet-de-ngi/">petites
singularités</a>.
English translation provided by
<a href="https://www.ow2.org/view/Events/The_European_Union_must_keep_funding_free_software_open_letter">OW2</a>.</p></blockquote><h2>Open Letter to the European Commission</h2><p>Since 2020, Next Generation Internet (<a href="https://www.ngi.eu">NGI</a>) programmes, part of European Commission's Horizon programme, fund free software in Europe using a cascade funding mechanism (see for example NLnet's <a href="https://www.nlnet.nl/commonsfund">calls</a>). This year, according to the Horizon Europe working draft detailing funding programmes for 2025, we notice that Next Generation Internet is not mentioned any more as part of Cluster 4.</p><p>NGI programmes have shown their strength and importance to supporting the European software infrastructure, as a generic funding instrument to fund digital commons and ensure their long-term sustainability. We find this transformation incomprehensible, moreover when NGI has proven efficient and economical to support free software as a whole, from the smallest to the most established initiatives. This ecosystem diversity backs the strength of European technological innovation, and maintaining the NGI initiative to provide structural support to software projects at the heart of worldwide innovation is key to enforce the sovereignty of a European infrastructure.
Contrary to common perception, technical innovations often originate from European rather than North American programming communities, and are mostly initiated by small-scaled organisations.</p><p>Previous Cluster 4 allocated 27 million euros to:</p><ul><li>"Human centric Internet aligned with values and principles commonly shared in Europe" ;</li><li>"A flourishing internet, based on common building blocks created within NGI, that enables better control of our digital life" ;</li><li>"A structured ecosystem of talented contributors driving the creation of new internet commons and the evolution of existing internet commons".</li></ul><p>In the name of these challenges, more than 500 projects received NGI funding in the first 5 years, backed by 18 organisations managing these European funding consortia.</p><p>NGI contributes to a vast ecosystem, as most of its budget is allocated to fund third parties by the means of open calls, to structure commons that cover the whole Internet scope - from hardware to application, operating systems, digital identities or data traffic supervision. This third-party funding is not renewed in the current program, leaving many projects short on resources for research and innovation in Europe.</p><p>Moreover, NGI allows exchanges and collaborations across all the Euro zone countries as well as "widening countries"¹, currently both a success and an ongoing progress, likewise the Erasmus programme before us. NGI also contributes to opening and supporting longer relationships than strict project funding does. It encourages implementing projects funded as pilots, backing collaboration, identification and reuse of common elements across projects, interoperability in identification systems and beyond, and setting up development models that mix diverse scales and types of European funding schemes.</p><p>While the USA, China or Russia deploy huge public and private resources to develop software and infrastructure that massively capture private consumer data, the EU can't afford this renunciation.
Free and open source software, as supported by NGI since 2020, is by design the opposite of potential vectors for foreign interference. It lets us keep our data local and favors a community-wide economy and know-how, while allowing an international collaboration.</p><p>This is all the more essential in the current geopolitical context: the challenge of technological sovereignty is central, and free software allows to address it while acting for peace and sovereignty in the digital world as a whole.</p><p>In this perspective, we urge you to claim for preserving the NGI programme as part of the 2025 funding programme.</p><p>¹ As defined by Horizon Europe, widening Member States are Bulgaria, Croatia, Cyprus, Czechia, Estonia, Greece, Hungary, Latvia, Lituania, Malta, Poland, Portugal, Romania, Slovakia, and Slovenia. Widening associated countries (under condition of an association agreement) include Albania, Armenia, Bosnia, Feroe Islands, Georgia, Kosovo, Moldavia, Montenegro, Morocco, North Macedonia, Serbia, Tunisia, Turkeye, and Ukraine. Widening overseas regions are Guadeloupe, French Guyana, Martinique, Reunion Island, Mayotte, Saint-Martin, The Azores, Madeira, the Canary Islands.</p> Tue, 23 Jul 2024 17:30:00 +0000libc @ Savannah: The GNU C Library version 2.40 is now availablehttps://savannah.gnu.org/news/?id=10658
https://savannah.gnu.org/news/?id=10658
<p>The GNU C Library
<br />
=================
<br />
<br />
The GNU C Library version 2.40 is now available.
<br />
<br />
The GNU C Library is used as <b>the</b> C library in the GNU system and
<br />
in GNU/Linux systems, as well as many other systems that use Linux
<br />
as the kernel.
<br />
<br />
The GNU C Library is primarily designed to be a portable
<br />
and high performance C library. It follows all relevant
<br />
standards including ISO C11 and POSIX.1-2017. It is also
<br />
internationalized and has one of the most complete
<br />
internationalization interfaces known.
<br />
<br />
The GNU C Library webpage is at <a href="http://www.gnu.org/software/libc/">http://www.gnu.org/software/libc/</a>
<br />
<br />
Packages for the 2.40 release may be downloaded from:
<br />
<a href="http://ftpmirror.gnu.org/libc/">http://ftpmirror.gnu.org/libc/</a>
<br />
<a href="http://ftp.gnu.org/gnu/libc/">http://ftp.gnu.org/gnu/libc/</a>
<br />
<br />
The mirror list is at <a href="http://www.gnu.org/order/ftp.html">http://www.gnu.org/order/ftp.html</a>
<br />
<br />
Distributions are encouraged to track the release/* branches
<br />
corresponding to the releases they are using. The release
<br />
branches will be updated with conservative bug fixes and new
<br />
features while retaining backwards compatibility.
<br />
<br />
NEWS for version 2.40
<br />
=====================
<br />
<br />
Major new features:
<br />
<br />
</p>
<ul>
<li>The <stdbit.h> header type-generic macros have been changed when using
</li>
</ul>
<p> GCC 14.1 or later to use __builtin_stdc_bit_ceil etc. built-in functions
<br />
in order to support unsigned __int128 and/or unsigned _BitInt(N) operands
<br />
with arbitrary precisions when supported by the target.
<br />
<br />
</p>
<ul>
<li>The GNU C Library now supports a feature test macro _ISOC23_SOURCE to
</li>
</ul>
<p> enable features from the ISO C23 standard. Only some features from
<br />
this standard are supported by the GNU C Library. The older name
<br />
_ISOC2X_SOURCE is still supported. Features from C23 are also enabled
<br />
by _GNU_SOURCE, or by compiling with the GCC options -std=c23,
<br />
-std=gnu23, -std=c2x or -std=gnu2x.
<br />
<br />
</p>
<ul>
<li>The following ISO C23 function families (introduced in TS
</li>
</ul>
<p> 18661-4:2015) are now supported in <math.h>. Each family includes
<br />
functions for float, double, long double, _FloatN and _FloatNx, and a
<br />
type-generic macro in <tgmath.h>.
<br />
<br />
- Exponential functions: exp2m1, exp10m1.
<br />
<br />
- Logarithmic functions: log2p1, log10p1, logp1.
<br />
<br />
</p>
<ul>
<li>A new tunable, glibc.rtld.enable_secure, can be used to run a program
</li>
</ul>
<p> as if it were a setuid process. This is currently a testing tool to allow
<br />
more extensive verification tests for AT_SECURE programs and not meant to
<br />
be a security feature.
<br />
<br />
</p>
<ul>
<li>On Linux, the epoll header was updated to include epoll ioctl definitions
</li>
</ul>
<p> and the related structure added in Linux kernel 6.9.
<br />
<br />
</p>
<ul>
<li>The fortify functionality has been significantly enhanced for building
</li>
</ul>
<p> programs with clang against the GNU C Library.
<br />
<br />
</p>
<ul>
<li>Many functions have been added to the vector library for aarch64:
</li>
</ul>
<p> acosh, asinh, atanh, cbrt, cosh, erf, erfc, hypot, pow, sinh, tanh
<br />
<br />
</p>
<ul>
<li>On x86, memset can now use non-temporal stores to improve the performance
</li>
</ul>
<p> of large writes. This behaviour is controlled by a new tunable
<br />
x86_memset_non_temporal_threshold.
<br />
<br />
Deprecated and removed features, and other changes affecting compatibility:
<br />
<br />
</p>
<ul>
<li>Architectures which use a 32-bit seconds-since-epoch field in struct
</li>
</ul>
<p> lastlog, struct utmp, struct utmpx (such as i386, powerpc64le, rv32,
<br />
rv64, x86-64) switched from a signed to an unsigned type for that
<br />
field. This allows these fields to store timestamps beyond the year
<br />
2038, until the year 2106. Please note that applications are still
<br />
expected to migrate off the interfaces declared in <utmp.h> and
<br />
<utmpx.h> (except for login_tty) due to locking and session management
<br />
problems.
<br />
<br />
</p>
<ul>
<li>__rseq_size now denotes the size of the active rseq area (20 bytes
</li>
</ul>
<p> initially), not the size of struct rseq (32 bytes initially).
<br />
<br />
Security related changes:
<br />
<br />
The following CVEs were fixed in this release, details of which can be
<br />
found in the advisories directory of the release tarball:
<br />
<br />
GLIBC-SA-2024-0004:
<br />
ISO-2022-CN-EXT: fix out-of-bound writes when writing escape
<br />
sequence (CVE-2024-2961)
<br />
<br />
GLIBC-SA-2024-0005:
<br />
nscd: Stack-based buffer overflow in netgroup cache (CVE-2024-33599)
<br />
<br />
GLIBC-SA-2024-0006:
<br />
nscd: Null pointer crash after notfound response (CVE-2024-33600)
<br />
<br />
GLIBC-SA-2024-0007:
<br />
nscd: netgroup cache may terminate daemon on memory allocation
<br />
failure (CVE-2024-33601)
<br />
<br />
GLIBC-SA-2024-0008:
<br />
nscd: netgroup cache assumes NSS callback uses in-buffer strings
<br />
(CVE-2024-33602)
<br />
<br />
The following bugs were resolved with this release:
<br />
<br />
[19622] network: Support aliasing with struct sockaddr
<br />
[21271] localedata: cv_RU: update translations
<br />
[23774] localedata: lv_LV collates Y/y incorrectly
<br />
[23865] string: wcsstr is quadratic-time
<br />
[25119] localedata: Change Czech weekday names to lowercase
<br />
[27777] stdio: fclose does a linear search, takes ages when many FILE*
<br />
are opened
<br />
[29770] libc: prctl does not match manual page ABI on powerpc64le-
<br />
linux-gnu
<br />
[29845] localedata: Update hr_HR locale currency to €
<br />
[30701] time: getutxent misbehaves on 32-bit x86 when _TIME_BITS=64
<br />
[31316] build: Fails test misc/tst-dirname "Didn't expect signal from
<br />
child: got `Illegal instruction'" on non SSE CPUs
<br />
[31317] dynamic-link: [RISCV] static PIE crashes during self
<br />
relocation
<br />
[31325] libc: mips: clone3 is wrong for o32
<br />
[31335] math: Compile glibc with -march=x86-64-v3 should disable FMA4
<br />
multi-arch version
<br />
[31339] libc: arm32 loader crash after cleanup in 2.36
<br />
[31340] manual: A bad sentence in section 22.3.5 (resource.texi)
<br />
[31357] dynamic-link: $(objpfx)tst-rtld-list-diagnostics.out rule
<br />
doesn't work with test wrapper
<br />
[31370] localedata: wcwidth() does not treat
<br />
DEFAULT_IGNORABLE_CODE_POINTs as zero-width
<br />
[31371] dynamic-link: x86-64: APX and Tile registers aren't preserved
<br />
in ld.so trampoline
<br />
[31372] dynamic-link: _dl_tlsdesc_dynamic doesn't preserve all caller-
<br />
saved registers
<br />
[31383] libc: _FORTIFY_SOURCE=3 and __fortified_attr_access vs size of
<br />
0 and zero size types
<br />
[31385] build: sort-makefile-lines.py doesn't check variable with _
<br />
nor with "^# variable"
<br />
[31402] libc: clone (NULL, NULL, ...) clobbers %r7 register on
<br />
s390{,x}
<br />
[31405] libc: Improve dl_iterate_phdr using _dl_find_object
<br />
[31411] localedata: Add Latgalian locale
<br />
[31412] build: GCC 6 failed to build i386 glibc on Fedora 39
<br />
[31429] build: Glibc failed to build with -march=x86-64-v3
<br />
[31468] libc: sigisemptyset returns true when the set contains signals
<br />
larger than 34
<br />
[31476] network: Automatic activation of single-request options break
<br />
resolv.conf reloading
<br />
[31479] libc: Missing #include <sys/rseq.h> in sched_getcpu.c may
<br />
result in a loss of rseq acceleration
<br />
[31501] dynamic-link: _dl_tlsdesc_dynamic_xsavec may clobber %rbx
<br />
[31518] manual: documentation: FLT_MAX_10_EXP questionable text, evtl.
<br />
wrong,
<br />
[31530] localedata: Locale file for Moksha - mdf_RU
<br />
[31553] malloc: elf/tst-decorate-maps fails on ppc64el
<br />
[31596] libc: On the llvm-arm32 platform, dlopen("not_exist.so", -1)
<br />
triggers segmentation fault
<br />
[31600] math: math: x86 ceill traps when FE_INEXACT is enabled
<br />
[31601] math: math: x86 floor traps when FE_INEXACT is enabled
<br />
[31603] math: math: x86 trunc traps when FE_INEXACT is enabled
<br />
[31612] libc: arc4random fails to fallback to /dev/urandom if
<br />
getrandom is not present
<br />
[31629] build: powerpc64: Configuring with "--with-cpu=power10" and
<br />
'CFLAGS=-O2 -mcpu=power9' fails to build glibc
<br />
[31640] dynamic-link: POWER10 ld.so crashes in
<br />
elf_machine_load_address with GCC 14
<br />
[31661] libc: NPROCESSORS_CONF and NPROCESSORS_ONLN not available in
<br />
getconf
<br />
[31676] dynamic-link: Configuring with CC="gcc -march=x86-64-v3"
<br />
--with-rtld-early-cflags=-march=x86-64 results in linker failure
<br />
[31677] nscd: nscd: netgroup cache: invalid memcpy under low
<br />
memory/storage conditions
<br />
[31678] nscd: nscd: Null pointer dereferences after failed netgroup
<br />
cache insertion
<br />
[31679] nscd: nscd: netgroup cache may terminate daemon on memory
<br />
allocation failure
<br />
[31680] nscd: nscd: netgroup cache assumes NSS callback uses in-buffer
<br />
strings
<br />
[31682] math: [PowerPC] Floating point exception error for math test
<br />
test-ceil-except-2 test-floor-except-2 test-trunc-except-2
<br />
[31686] dynamic-link: Stack-based buffer overflow in
<br />
parse_tunables_string
<br />
[31695] libc: pidfd_spawn/pidfd_spawnp leak an fd if clone3 succeeds
<br />
but execve fails
<br />
[31719] dynamic-link: --enable-hardcoded-path-in-tests doesn't work
<br />
with -Wl,--enable-new-dtags
<br />
[31730] libc: backtrace_symbols_fd prints different strings than
<br />
backtrace_symbols returns
<br />
[31753] build: FAIL: link-static-libc with GCC 6/7/8
<br />
[31755] libc: procutils_read_file doesn't start with a leading
<br />
underscore
<br />
[31756] libc: write_profiling is only in libc.a
<br />
[31757] build: Should XXXf128_do_not_use functions be excluded?
<br />
[31759] math: Extra nearbyint symbols in libm.a
<br />
[31760] math: Missing math functions
<br />
[31764] build: _res_opcodes should be a compat symbol only
<br />
[31765] dynamic-link: _dl_mcount_wrapper is exported without prototype
<br />
[31766] stdio: <i>IO_stderr</i> _IO_stdin_ _IO_stdout should be compat
<br />
symbols
<br />
[31768] string: Extra stpncpy symbol in libc.a
<br />
[31770] libc: clone3 is in libc.a
<br />
[31774] libc: Missing __isnanf128 in libc.a
<br />
[31775] math: Missing exp10 exp10f32x exp10f64 fmod fmodf fmodf32
<br />
fmodf32x fmodf64 in libm.a
<br />
[31777] string: Extra memchr strlen symbols in libc.a
<br />
[31781] math: Missing math functions in libm.a
<br />
[31782] build: Test build failure with recent GCC trunk (x86/tst-cpu-
<br />
features-supports.c:69:3: error: parameter to builtin not valid:
<br />
avx5124fmaps)
<br />
[31785] string: loongarch: Extra strnlen symbols in libc.a
<br />
[31786] string: powerpc: Extra strchrnul and strncasecmp_l symbols in
<br />
libc.a
<br />
[31787] math: powerpc: Extra llrintf, llrintf, llrintf32, and
<br />
llrintf32 symbols in libc.a
<br />
[31788] libc: microblaze: Extra cacheflush symbol in libc.a
<br />
[31789] libc: powerpc: Extra versionsort symbol in libc.a
<br />
[31790] libc: s390: Extra getutent32, getutent32_r, getutid32,
<br />
getutid32_r, getutline32, getutline32_r, getutmp32, getutmpx32,
<br />
getutxent32, getutxid32, getutxline32, pututline32, pututxline32,
<br />
updwtmp32, updwtmpx32 in libc.a
<br />
[31797] build: g++ -static requirement should be able to opt-out
<br />
[31798] libc: pidfd_getpid.c is miscompiled by GCC 6.4
<br />
[31802] time: difftime is pure not const
<br />
[31808] time: The supported time_t range is not documented.
<br />
[31840] stdio: Memory leak in _IO_new_fdopen (fdopen) on seek failure
<br />
[31867] build: "CPU ISA level is lower than required" on SSE2-free
<br />
CPUs
<br />
[31876] time: "Date and time" documentation fixes for POSIX.1-2024 etc
<br />
[31883] build: ISA level support configure check relies on bashism /
<br />
is otherwise broken for arithmetic
<br />
[31892] build: Always install mtrace.
<br />
[31917] libc: clang mq_open fortify wrapper does not handle 4 argument
<br />
correctly
<br />
[31927] libc: clang open fortify wrapper does not handle argument
<br />
correctly
<br />
[31931] time: tzset may fault on very short TZ string
<br />
[31934] string: wcsncmp crash on s390x on vlbb instruction
<br />
[31963] stdio: Crash in _IO_link_in within __gcov_exit
<br />
[31965] dynamic-link: rseq extension mechanism does not work as
<br />
intended
<br />
[31980] build: elf/tst-tunables-enable_secure-env fails on ppc
<br />
<br />
Release Notes
<br />
=============
<br />
<br />
<a href="https://sourceware.org/glibc/wiki/Release/2.40">https://sourceware.org/glibc/wiki/Release/2.40</a>
<br />
<br />
Contributors
<br />
============
<br />
<br />
This release was made possible by the contributions of many people.
<br />
The maintainers are grateful to everyone who has contributed
<br />
changes or bug reports. These include:
<br />
<br />
Adam Sampson
<br />
Adhemerval Zanella
<br />
Alejandro Colomar
<br />
Alexandre Ferrieux
<br />
Amrita H S
<br />
Andreas K. Hüttel
<br />
Andreas Schwab
<br />
Andrew Pinski
<br />
Askar Safin
<br />
Aurelien Jarno
<br />
Avinal Kumar
<br />
Carlos Llamas
<br />
Carlos O'Donell
<br />
Charles Fol
<br />
Christoph Müllner
<br />
DJ Delorie
<br />
Daniel Cederman
<br />
Darius Rad
<br />
David Paleino
<br />
Dragan Stanojević (Nevidljivi)
<br />
Evan Green
<br />
Fangrui Song
<br />
Flavio Cruz
<br />
Florian Weimer
<br />
Gabi Falk
<br />
H.J. Lu
<br />
Jakub Jelinek
<br />
Jan Kurik
<br />
Joe Damato
<br />
Joe Ramsay
<br />
Joe Simmons-Talbott
<br />
Joe Talbott
<br />
John David Anglin
<br />
Joseph Myers
<br />
Jules Bertholet
<br />
Julian Zhu
<br />
Junxian Zhu
<br />
Konstantin Kharlamov
<br />
Luca Boccassi
<br />
Maciej W. Rozycki
<br />
Manjunath Matti
<br />
Mark Wielaard
<br />
MayShao-oc
<br />
Meng Qinggang
<br />
Michael Jeanson
<br />
Michel Lind
<br />
Mike FABIAN
<br />
Mohamed Akram
<br />
Noah Goldstein
<br />
Palmer Dabbelt
<br />
Paul Eggert
<br />
Philip Kaludercic
<br />
Samuel Dobron
<br />
Samuel Thibault
<br />
Sayan Paul
<br />
Sergey Bugaev
<br />
Sergey Kolosov
<br />
Siddhesh Poyarekar
<br />
Simon Chopin
<br />
Stafford Horne
<br />
Stefan Liebler
<br />
Sunil K Pandey
<br />
Szabolcs Nagy
<br />
Wilco Dijkstra
<br />
Xi Ruoyao
<br />
Xin Wang
<br />
Yinyu Cai
<br />
YunQiang Su
<br />
<br />
We would like to call out the following and thank them for their
<br />
tireless patch review:
<br />
<br />
Adhemerval Zanella
<br />
Alejandro Colomar
<br />
Andreas K. Hüttel
<br />
Arjun Shankar
<br />
Aurelien Jarno
<br />
Bruno Haible
<br />
Carlos O'Donell
<br />
DJ Delorie
<br />
Dmitry V. Levin
<br />
Evan Green
<br />
Fangrui Song
<br />
Florian Weimer
<br />
H.J. Lu
<br />
Jonathan Wakely
<br />
Joseph Myers
<br />
Mathieu Desnoyers
<br />
Maxim Kuvyrkov
<br />
Michael Jeanson
<br />
Noah Goldstein
<br />
Palmer Dabbelt
<br />
Paul Eggert
<br />
Paul E. Murphy
<br />
Peter Bergner
<br />
Philippe Mathieu-Daudé
<br />
Sam James
<br />
Siddhesh Poyarekar
<br />
Simon Chopin
<br />
Stefan Liebler
<br />
Sunil K Pandey
<br />
Szabolcs Nagy
<br />
Xi Ruoyao
<br />
Zack Weinberg
<br />
<br />
--
<br />
Andreas K. Hüttel
<br />
<a href="mailto:[email protected]">[email protected]</a>
<br />
Gentoo Linux developer
<br />
(council, toolchain, base-system, perl, releng)
<br />
<a href="https://wiki.gentoo.org/wiki/User:Dilfridge">https://wiki.gentoo.org/wiki/User:Dilfridge</a>
<br />
<a href="https://www.akhuettel.de/">https://www.akhuettel.de/</a><br />
</p> Mon, 22 Jul 2024 14:29:11 +0000parallel @ Savannah: GNU Parallel 20240722 ('Assange') released [stable]https://savannah.gnu.org/news/?id=10657
https://savannah.gnu.org/news/?id=10657
<p>GNU Parallel 20240722 ('Assange') has been released. It is available for download at: lbry://@GnuParallel:4
<br />
<br />
Quote of the month:
<br />
<br />
parallel is frickin great for launching jobs on multiple
<br />
machines. Ansible and Jenkins and others may be good too but I was
<br />
able to jump right in with parallel.
<br />
-- dwhite21787@reddit
<br />
<br />
New in this release:
<br />
</p>
<ul>
<li>No new features. This is a candidate for a stable release.
</li>
<li>Bug fixes and man page updates.
</li>
</ul>
<p>
<br />
News about GNU Parallel:
<br />
</p>
<ul>
<li>Scientific Workflows at Scale using GNU Parallel <a href="https://web.cvent.com/event/f318e73c-2230-432a-a044-b75625020543/websitePage:afd80266-008e-414b-9f94-2fd9b4dd1924?session=fe79a785-ec60-414c-8d2b-c29208f53d4c&shareLink=true">https://web.cvent.com/event/f318e73c-2230-432a-a044-b75625020543/websitePage:afd80266-008e-414b-9f94-2fd9b4dd1924?session=fe79a785-ec60-414c-8d2b-c29208f53d4c&shareLink=true</a>
</li>
<li>Use GNU Parallel to render blender movies distributed by a bunch of nodes <a href="https://github.com/tfmoraes/blender_gnu_parallel_render">https://github.com/tfmoraes/blender_gnu_parallel_render</a>
</li>
<li>Lessons Learned from Scaling to Multi-Terabyte Datasets <a href="https://v2thegreat.com/2024/06/19/lessons-learned-from-scaling-to-multi-terabyte-datasets/">https://v2thegreat.com/2024/06/19/lessons-learned-from-scaling-to-multi-terabyte-datasets/</a>
</li>
<li>Efisiensi Maksimal: Cara Paralelisasi Perintah di CLI Linux <a href="https://medium.com/@nfrozi/efisiensi-maksimal-cara-paralelisasi-perintah-di-cli-linux-f4fda3afe2a0">https://medium.com/@nfrozi/efisiensi-maksimal-cara-paralelisasi-perintah-di-cli-linux-f4fda3afe2a0</a>
</li>
<li>Introduction to GNU parallel <a href="https://datascience.101workbook.org/06-hpc/06-parallel/01-intro-to-gnu-parallel/#gsc.tab=0">https://datascience.101workbook.org/06-hpc/06-parallel/01-intro-to-gnu-parallel/#gsc.tab=0</a>
</li>
</ul>
<p>
<br />
GNU Parallel - For people who live life in the parallel lane.
<br />
<br />
If you like GNU Parallel record a video testimonial: Say who you are, what you use GNU Parallel for, how it helps you, and what you like most about it. Include a command that uses GNU Parallel if you feel like it.
<br />
<br />
<br />
</p>
<h2>About GNU Parallel</h2>
<p>
<br />
GNU Parallel is a shell tool for executing jobs in parallel using one or more computers. A job can be a single command or a small script that has to be run for each of the lines in the input. The typical input is a list of files, a list of hosts, a list of users, a list of URLs, or a list of tables. A job can also be a command that reads from a pipe. GNU Parallel can then split the input and pipe it into commands in parallel.
<br />
<br />
If you use xargs and tee today you will find GNU Parallel very easy to use as GNU Parallel is written to have the same options as xargs. If you write loops in shell, you will find GNU Parallel may be able to replace most of the loops and make them run faster by running several jobs in parallel. GNU Parallel can even replace nested loops.
<br />
<br />
GNU Parallel makes sure output from the commands is the same output as you would get had you run the commands sequentially. This makes it possible to use output from GNU Parallel as input for other programs.
<br />
<br />
For example you can run this to convert all jpeg files into png and gif files and have a progress bar:
<br />
<br />
parallel --bar convert {1} {1.}.{2} ::: *.jpg ::: png gif
<br />
<br />
Or you can generate big, medium, and small thumbnails of all jpeg files in sub dirs:
<br />
<br />
find . -name '*.jpg' |
<br />
parallel convert -geometry {2} {1} {1//}/thumb{2}_{1/} :::: - ::: 50 100 200
<br />
<br />
You can find more about GNU Parallel at: <a href="http://www.gnu.org/s/parallel/">http://www.gnu.org/s/parallel/</a>
<br />
<br />
You can install GNU Parallel in just 10 seconds with:
<br />
<br />
$ (wget -O - pi.dk/3 || lynx -source pi.dk/3 || curl pi.dk/3/ || \
<br />
fetch -o - <a href="http://pi.dk/3">http://pi.dk/3</a> ) > install.sh
<br />
$ sha1sum install.sh | grep 883c667e01eed62f975ad28b6d50e22a
<br />
12345678 883c667e 01eed62f 975ad28b 6d50e22a
<br />
$ md5sum install.sh | grep cc21b4c943fd03e93ae1ae49e28573c0
<br />
cc21b4c9 43fd03e9 3ae1ae49 e28573c0
<br />
$ sha512sum install.sh | grep ec113b49a54e705f86d51e784ebced224fdff3f52
<br />
79945d9d 250b42a4 2067bb00 99da012e c113b49a 54e705f8 6d51e784 ebced224
<br />
fdff3f52 ca588d64 e75f6033 61bd543f d631f592 2f87ceb2 ab034149 6df84a35
<br />
$ bash install.sh
<br />
<br />
Watch the intro video on <a href="http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1">http://www.youtube.com/playlist?list=PL284C9FF2488BC6D1</a>
<br />
<br />
Walk through the tutorial (man parallel_tutorial). Your command line will love you for it.
<br />
<br />
When using programs that use GNU Parallel to process data for publication please cite:
<br />
<br />
O. Tange (2018): GNU Parallel 2018, March 2018, <a href="https://doi.org/10.5281/zenodo.1146014">https://doi.org/10.5281/zenodo.1146014</a>.
<br />
<br />
If you like GNU Parallel:
<br />
<br />
</p>
<ul>
<li>Give a demo at your local user group/team/colleagues
</li>
<li>Post the intro videos on Reddit/Diaspora*/forums/blogs/ Identi.ca/Google+/Twitter/Facebook/Linkedin/mailing lists
</li>
<li>Get the merchandise <a href="https://gnuparallel.threadless.com/designs/gnu-parallel">https://gnuparallel.threadless.com/designs/gnu-parallel</a>
</li>
<li>Request or write a review for your favourite blog or magazine
</li>
<li>Request or build a package for your favourite distribution (if it is not already there)
</li>
<li>Invite me for your next conference
</li>
</ul>
<p>
<br />
If you use programs that use GNU Parallel for research:
<br />
<br />
</p>
<ul>
<li>Please cite GNU Parallel in you publications (use --citation)
</li>
</ul>
<p>
<br />
If GNU Parallel saves you money:
<br />
<br />
</p>
<ul>
<li>(Have your company) donate to FSF <a href="https://my.fsf.org/donate/">https://my.fsf.org/donate/</a>
</li>
</ul>
<p>
<br />
<br />
</p>
<h2>About GNU SQL</h2>
<p>
<br />
GNU sql aims to give a simple, unified interface for accessing databases through all the different databases' command line clients. So far the focus has been on giving a common way to specify login information (protocol, username, password, hostname, and port number), size (database and table size), and running queries.
<br />
<br />
The database is addressed using a DBURL. If commands are left out you will get that database's interactive shell.
<br />
<br />
When using GNU SQL for a publication please cite:
<br />
<br />
O. Tange (2011): GNU SQL - A Command Line Tool for Accessing Different Databases Using DBURLs, ;login: The USENIX Magazine, April 2011:29-32.
<br />
<br />
<br />
</p>
<h2>About GNU Niceload</h2>
<p>
<br />
GNU niceload slows down a program when the computer load average (or other system activity) is above a certain limit. When the limit is reached the program will be suspended for some time. If the limit is a soft limit the program will be allowed to run for short amounts of time before being suspended again. If the limit is a hard limit the program will only be allowed to run when the system is below the limit.<br />
</p> Sun, 21 Jul 2024 03:01:50 +0000GNU Taler news: Video interview with Mikolai Gütschow on payments for the Internet of Thingshttps://taler.net/en/news/2024-19.html
https://taler.net/en/news/2024-19.html
<article>
On the occasion of the Point Zero Forum's Innovation Tour, Evgeny Grin has interviewed Mikolai Gütschow who designed and implemented solutions for the payments in the Internet of Things (IoT).
</article> Sat, 20 Jul 2024 22:00:00 +0000GNUnet News: DHT Technical Specification Milestone 5https://gnunet.org/en/news/2024-07-DHTSpec2.html
https://gnunet.org/en/news/2024-07-DHTSpec2.html
<article id="newspost-content">
<h1>
DHT Technical Specification Milestone 5
</h1>
<p>
We are happy to announce the completion of milestone 5 for the DHT specification.
The general objective is to provide a detailed and comprehensive guide for implementors of the GNUnet DHT "R
<sup>
5
</sup>
N".
As part of this milestone, the specification was updated and
interoperability testing conducted.
We submitted the draft to the Independent Stream Editor (ISE)
who is going to decide if it will be adopted and shepherded through
the RFC process.
</p>
<p>
The current protocol is implemented as part of GNUnet and gnunet-go as
<a href="https://lists.gnu.org/archive/html/gnunet-developers/2022-06/msg00019.html">
announced on the mailing list when the previous implementation milestones were finished
</a>
.
</p>
<p>
<b>
We again invite any interested party to read the document and provide critical
review and feedback. This greatly helps us to improve the protocol
and help future implementations. Contact us at
<a href="mailto:[email protected]">
the gnunet-developers mailing list
</a>
</b>
.
</p>
<ul>
<li>
<a href="https://lsd.gnunet.org/lsd0004/draft-schanzen-r5n.txt">
Plain text version
</a>
</li>
<li>
<a href="https://lsd.gnunet.org/lsd0004/draft-schanzen-r5n.html">
HTML version
</a>
</li>
<li>
<a href="https://git.gnunet.org/lsd0004.git">
Git sources
</a>
</li>
</ul>
<p>
This work is generously funded by
<a href="https://nlnet.nl">
NLnet
</a>
as part of their
<a href="https://nlnet.nl/assure">
NGI Assure fund
</a>
.
</p>
</article> Sat, 20 Jul 2024 22:00:00 +0000GNU Taler news: Video interview with Özgür Kesim on age-restricted digital cashhttps://taler.net/en/news/2024-18.html
https://taler.net/en/news/2024-18.html
<article>
On the occasion of the Point Zero Forum's Innovation Tour, Evgeny Grin has interviewed Özgür Kesim who designed and implemented an age restriction mechanism inside the GNU Taler coins.
</article> Fri, 19 Jul 2024 22:00:00 +0000