GNU Planet!

Subscribe to GNU Planet! feed
Planet GNU - https://planet.gnu.org/
Updated: 4 hours 7 min ago

GNU Guix: Keeping one’s home tidy

Mon, 2022-03-21 11:30

How much effort to recreate your work environment when you switch to a new machine? What would it take to roll back to your previous environment once you’ve noticed a program no longer behaves as expected? What about sharing your environment with friends of yours? These are some of the things that Guix Home, which landed in Guix as a “technology preview” in September 2021, aims to make effortless, reliable, and fun.

In a nutshell, Guix Home brings the fully declarative configuration of Guix System to home directories. With Guix System, users and administrators provide a configuration file that defines the operating system configuration; with Guix Home, users provide a configuration file that defines the configuration of their work environment in their home directory—their home environment. That configuration is meant to stand alone, to describe all the relevant aspects of your work environment. But what exactly goes in a home environment?

“Dot files” don’t live in a vacuum

Among seasoned Unix-style users, we often equate “home environment” with “dot files”—configuration files in our home directory, from ~/.bashrc and ~/.ssh/config to ~/.emacs and everything under ~/.config. These files are precious and many store them under version control, to keep track of changes made to their configuration. That’s a good idea, but is that all it takes to describe the home environment? To roll back to a previous version?

Of course not. Dot files don’t exist in a vacuum; at the very least, your home environment is not just a set of dot files, but also a set of installed packages. They work together: if you upgrade a package, the corresponding dot file might need to be adjusted; if a package is missing, its dot file is not of any use. Sometimes a home environment contains additional things: daemons (programs that run in the background), or periodically executed jobs.

Guix Home goes beyond dot files: it lets you declare and instantiate all these aspects that make up your home environment.

Genesis

Guix Home was initially developed by Andrew Tropin as part of the rde project; it was integrated in Guix proper six months ago. I am writing this as an adopter and contributor, but there were a number of earlier adopters and earlier contributors. In fact, despite being still very much under development, the tool has already attracted a number of excited users eager to find a way to keep their home tidy!

The idea of writing down a declaration of your home environment that you can reproduce anytime is a natural followup to everything Guix does—you could already declare a package set in a manifest or even a complete operating system. It had been floating around, in Nix land with Home Manager and in Guix land with the now-defunct Guix Home Manager by Julien Lepiller. The latter was similar to today’s Guix Home, but went one step further by making your home directory read-only—yes, read-only! The main advantage is that it would ensure statelessness—you’d be sure that absolutely all your home configuration is under Guix Home Manager’s control; sub-directories containing mutable data would have to be explicitly declared. The downside is that it raised the barrier to entry: you’d have to either switch entirely, or not use it at all. Guix Home takes a more pragmatic approach and happily coexists with configuration managed “the old way”.

Getting started

To get started, you need a Home configuration file. There’s documentation, but as always, starting from a blank page is a bit intimidating. So instead of starting from a blank page, you can let guix home import generate an initial config for you:

guix home import ~/src/guix-config

This will create the ~/src/guix-config directory and populate it with a bunch of files among which home-configuration.scm along these lines:

(use-modules (gnu home) (gnu packages) (gnu services) (guix gexp) (gnu home services shells)) (home-environment (packages (map (compose list specification->package+output) (list "emacs-geiser-guile" "emacs-geiser" "pinentry-emacs" "emacs-exwm" "gnome-maps" "pipe-viewer" "emacs" "pavucontrol" "git" "xterm" "qemu" "openssh"))) (services (list (service home-bash-service-type (home-bash-configuration (aliases '(("grep" . "grep --color=auto") ("ll" . "ls -l") ("ls" . "ls -p --color=auto") ("qemu" . "qemu-system-x86_64 -enable-kvm -m 512") ("rm" . "rm --one-file-system"))) (bashrc (list (local-file "/home/charlie/src/guix-config/.bashrc" "bashrc"))) (bash-profile (list (local-file "/home/charlie/src/guix-config/.bash_profile" "bash_profile"))))))))

guix home import automatically added the packages of ~/.guix-profile to the packages field. Because I’m using Bash, it also added an instance of home-bash-service-type with aliases extracted from my ~/.bashrc; it also made copies of ~/.bashrc and ~/.bash_profile and refers to them.

Now that I have an initial configuration, I can first test it in an isolated container:

guix home container ~/src/guix-config/home-configuration.scm

This command gives an interactive shell in a container where my home environment, as declared in home-configuration.scm, is deployed. There I can see my home directory as it would look like if I deploy my home environment “for real”: I can see my ~/.bashrc and co., I can check that all the packages declared are in $PATH and visible in ~/.guix-home, and so on. And all this is safe: my actual home directory has been left unchanged!

Once satisfied with my configuration, I can instantiate it:

guix home reconfigure ~/src/guix-config/home-configuration.scm

At that point, my actual home directory corresponds to that configuration. Some of my dot files are now provided by Guix Home, and thus they’re symbolic links (“symlinks”) to their read-only copy in /gnu/store:

$ ls -l ~/.bashrc ~/.bash_profile lrwxrwxrwx 1 charlie users 56 Mar 7 15:46 /home/charlie/.bash_profile -> /gnu/store/lpdydssyyxx9n0xvp2jmv7yqgyr2pcg3-bash_profile lrwxrwxrwx 1 charlie users 50 Mar 7 15:46 /home/charlie/.bashrc -> /gnu/store/kxc0j4i05sib04vf92nr8xxkb8isdfn7-bashrc

But don’t worry: before creating those symlinks, guix home reconfigure created backups of existing files under ~/TIMESTAMP-guix-home-legacy-configs-backup, where TIMESTAMP is a Unix-style timestamp.

And voilà, I have my first Guix Home generation!

$ guix home describe Generation 1 Mar 07 2022 15:46:20 (current) file name: /var/guix/profiles/per-user/charlie/guix-home-1-link canonical file name: /gnu/store/qr1c5jpfrj815ncv6yr2lfdgs8nq8kkn-home channels: guix: repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: 3ac1366648f933f7244c2d0b9926f7ba5d92a113 configuration file: /gnu/store/xfgasfms9rhhigyj7i8za77zpqx6zbhn-configuration.scm

guix home describe shows provenance tracking we know and love from Guix System: all the info we need to redeploy the same home environment elsewhere, or at a different point in time. It’s also information guix home reconfigure relies on to make sure you never accidentally downgrade you home environment to an older Guix revision.

Going further

Alright, at this point, you might be thinking that it’s a lot of fuss but the “only” benefit over dot files under version control is that guix home also takes care of installing packages. Guix Home really shines once you use higher-level services, and when you start composing services together.

To the example above, in the services field, we can add a service declaration that runs Redshift, a program that adjusts the display color temperature according to the time of day:

(service home-redshift-service-type (home-redshift-configuration (location-provider 'manual) (latitude 35.81) ;northern hemisphere (longitude -0.80))) ;west of Greenwich

The effect is that, as soon as we log in, under Xorg, Redshift will be started in the background as a Shepherd service. The Home-generated ~/.profile takes care of spawning shepherd, which in turn spawns the redshift service:

$ herd status Started: + root + redshift

We gained another thing here: a consistent, unified configuration language. Instead of learning Redshift’s configuration file format, we define a home-redshift-configuration record, right in Scheme. Under the hood, that configuration is converted into Redshift’s file format; any error is caught at configuration time, when running guix home reconfigure, and we can be sure that Redshift is passed a valid configuration file.

We can similarly define a periodic mcron job, for example one that updates a GNU Idutils search database (that’s a pretty convenient and speedy way to look for code or documents!):

(simple-service 'idutils home-mcron-service-type ;; Every day at 12:15 and 19:15. (list #~(job '(next-minute-from (next-hour '(12 19)) '(15)) (string-append #$idutils "/bin/mkid \ -o $HOME/.idutils/src.db $HOME/src"))))

Again, guix home creates a Shepherd service that start mcron with a configuration file containing definitions for periodic jobs, which we can inspect via herd:

$ herd schedule mcron | head -5 Sun Mar 20 19:15:00 2022 +0000 /gnu/store/2d026nan309qkci968k8gpa8fcv9q4mv-idutils-4.6/bin/mkid -o $HOME/.idutils/src $HOME/src Mon Mar 21 12:15:00 2022 +0000 /gnu/store/2d026nan309qkci968k8gpa8fcv9q4mv-idutils-4.6/bin/mkid -o $HOME/.idutils/src $HOME/srcServices, composed

If you already use Guix System, all the above certainly looks familiar: Guix Home builds upon the service framework that powers Guix System; Home services are defined in the (gnu home services …) module tree.

That framework lets us define relations among “services”, in a broad sense, and how services extend each other—in the example above, redshift and mcron both extend shepherd by giving it a daemon to take care of. We can see those relations at play by running:

guix home extension-graph home-configuration.scm

… which, for the configuration described above, gives a graph that looks like this:

We see redshift, mcron, and shepherd, but we also see lower-level services that guix home instantiates for us, such as the profile service which takes care of deploying packages listed in the packages field under ~/.guix-home/profile. Each arrow denotes a service extension. You can read more (and view more!) about service composition. To satisfy our math and functional-programming geek audience, we should mention that service types and their extension operation form a monoid.

What’s next?

Let’s be clear: Guix Home is pretty new and chances are that guix home search—the command to search for services by keyword—won’t give you the service you’re looking for. There’s also a bunch of open questions left, such as how to reuse services initially defined for Guix System in cases where they could be equally useful in Guix Home—Syncthing, for example.

But while it’s still a “technology preview”, it’s already a tool that tinkerers can play with and benefit from. Patches adding new services have already been proposed; maybe your favorite service is next? Consider contributing.

With a new release and ten-year anniversary coming up, we’re happy to celebrate with a tool that extends the reach of declarative and reproducible deployment!

About GNU Guix

GNU Guix is a transactional package manager and an advanced distribution of the GNU system that respects user freedom. Guix can be used on top of any system running the Hurd or the Linux kernel, or it can be used as a standalone operating system distribution for i686, x86_64, ARMv7, AArch64 and POWER9 machines.

In addition to standard package management features, Guix supports transactional upgrades and roll-backs, unprivileged package management, per-user profiles, and garbage collection. When used as a standalone GNU/Linux distribution, Guix offers a declarative, stateless approach to operating system configuration management. Guix is highly customizable and hackable through Guile programming interfaces and extensions to the Scheme language.

Categories: FLOSS Project Planets

bandali: LibrePlanet 2022: The Net beyond the web

Sun, 2022-03-20 16:20

Today I gave a talk at LibrePlanet 2022 about the internet and the web, giving a brief account of the web's past, its current state, and ideas for better futures.

In this talk I go over the old web (of 1990s and early 2000s) and how websites looked back then, fast-forwarding to the present day and the sad current state of the web, and some possibilities on where we could go from here if we would like to have a better net/web in the future for user freedom, privacy, and control.

Here is the abstract for my talk, also available on the LibrePlanet 2022's speakers page:

The modern web is filled to the brim with complexity, no shortage of nonfree software, and malware. Many, many people have written and spoken at length on these issues and their implications and negative effects on users' freedom, privacy, and digital autonomy. With the advent of technologies like WebAssembly, the modern day web browser has effectively become an operating system of its own, along with all the issues and complexities of operating systems and then some. Opening arbitrary websites with a typical web browser amounts to downloading an executing [mostly nonfree] software on your machine. But is all of this complexity really necessary? Is all of this needed to achieve the web's original purpose, an information system for relaying documents (and now media)? What if there was a way to do away with all of these complexities and go back to the basics?

In this talk we will examine the Internet beyond the modern web, some possibilities of what that might look like with concrete examples from protocols like Gopher from time immemorial, and more recent experiments and reimaginations of it in today's world, such as Gemini and Spartan. The talk will give a brief tour of these protocols and their histories, what they have to offer, and why one might want to use them in the 21st century.

Presentation slides: txt | pdf (coming soon) | bib
Speaker notes: txt | pdf (coming soon)

I will add the presentation video once the conference recordings have been processed and published by the Free Software Foundation.

LibrePlanet is a conference about software freedom, happening on March 19-20, 2022. The event is hosted by the Free Software Foundation (FSF), and brings together software developers, law and policy experts, activists, students, and computer users to learn skills, celebrate free software accomplishments, and face upcoming challenges. Newcomers are always welcome, and LibrePlanet 2022 will feature programming for all ages and experience levels.

Categories: FLOSS Project Planets

remotecontrol @ Savannah: Cost of living: Calls for targeted help to cut energy bills

Sun, 2022-03-20 12:34

https://www.bbc.com/news/business-60796131
"Millions of households are facing a 54% rise in the cost of a typical annual gas and electricity bill..."

We discussed deeply when we designed GNU remotecontrol the reality of rising energy costs pushing consumer purchasing decisions to the point of genuine consumer pain. All energy costs have perhaps the most direct impact seen in food production costs. The choice between enough food and enough energy in 2022 is a decision many could not fathom only five years ago.

The Ukraine matter in play now is convenient for economic sanctions. There was no winter in Europe when the sanctions were launched. The sanctions will not last after September when cold returns and the need for more fossil fuels return to heat homes.

Energy suppliers do not want energy efficiency as consumption efficiency decreases all sales. It is clear commercialization is not going to solve the energy management needs of the world today. The answer is found in using new tools to help the logic system that is not working logically now.

Now is the time for free and open-source software to be used in helping consumers reduce their energy costs to heat their homes, their businesses, and public dwellings.

Categories: FLOSS Project Planets

gnuastro @ Savannah: Gnuastro 0.17 released

Sun, 2022-03-20 11:29

The 17th release of GNU Astronomy Utilities (Gnuastro) is now available. See the full announcement for all the new features in this release and the many bugs that have been found and fixed: https://lists.gnu.org/archive/html/info-gnuastro/2022-03/msg00002.html

Categories: FLOSS Project Planets

FSF Blogs: Day one reflections for LibrePlanet: "Living Liberation"

Sun, 2022-03-20 00:55
Today marked the first of two days of events and talks for the Free Software Foundation's (FSF) annual conference, LibrePlanet. This year's theme is "Living Liberation," and the talks and activities are centered around how to live a more liberated life in the modern world.
Categories: FLOSS Project Planets

GNUnet News: GNUnet 0.16.2

Fri, 2022-03-18 19:00
GNUnet 0.16.2

This is a bugfix release for gnunet 0.16.1.

Download links

The GPG key used to sign is: 3D11063C10F98D14BD24D1470B0998EF86F59B6A

Note that due to mirror synchronization, not all links may be functional early after the release. For direct access try http://ftp.gnu.org/gnu/gnunet/

Noteworthy changes in 0.16.2 (since 0.16.1)
  • DHT : Fix path signature handling.
  • GNS : Fix BOX handling in zone apex.
  • NAMESTORE : Prevent storing under invalid labels.
  • Buildsystem : Fix build on *BSD and Guix.

A detailed list of changes can be found in the ChangeLog and the 0.16.2 bugtracker .

Categories: FLOSS Project Planets

libtool @ Savannah: libtool-2.4.7 released [stable]

Thu, 2022-03-17 00:32

Howdy, Libtoolers!

After a long hiatus, the Libtool Team is pleased to announce the release of
libtool 2.4.7.


GNU Libtool hides the complexity of using shared libraries behind a
consistent, portable interface. GNU Libtool ships with GNU libltdl, which
hides the complexity of loading dynamic runtime libraries (modules)
behind a consistent, portable interface.

Here are the compressed sources:
  https://ftpmirror.gnu.org/libtool/libtool-2.4.7.tar.gz   (1.9MB)
  https://ftpmirror.gnu.org/libtool/libtool-2.4.7.tar.xz   (996KB)

Here are the GPG detached signatures[*]:
  https://ftpmirror.gnu.org/libtool/libtool-2.4.7.tar.gz.sig
  https://ftpmirror.gnu.org/libtool/libtool-2.4.7.tar.xz.sig

Use a mirror for higher download bandwidth:
  https://www.gnu.org/order/ftp.html

Here are the SHA1 and SHA256 checksums:

d3f2d5399f4bf5cbd974b812ebaca28d6492ca65  libtool-2.4.7.tar.gz
BOlsJATqcMWQxUbrpCAqThJyLGQAFsErmy8c49SB6ag  libtool-2.4.7.tar.gz
0c90f1b046ea9cd7b32a4b5a6a9df4b46ddb637a  libtool-2.4.7.tar.xz
T38hfwV85lX/IlWa0iGg/Y74StH8X8tpkM7MMzqhY10  libtool-2.4.7.tar.xz

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

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

  gpg --verify libtool-2.4.7.tar.gz.sig

If that command fails because you don't have the required public key,
then run this command to import it:

  gpg --keyserver keys.gnupg.net --recv-keys 6EAC957F8EEB55C0

and rerun the 'gpg --verify' command.

This release was bootstrapped with the following tools:
  Autoconf 2.69
  Automake 1.16.3
  Gnulib a5218207e5

NEWS

* Noteworthy changes in release 2.4.7 (2022-03-16) [stable]

** New features:

  - Libtool script now supports (configure-time and runtime) ARFLAGS
    variable, which obsoletes AR_FLAGS.  This is due to naming conventions
    among other *FLAGS and to be consistent with Automake's ARFLAGS.

  - Gnulib testsuite is enabled and run during 'make check'.

  - Support the Windows version of the Intel C Compiler (icl) in
    libtool script.

  - Pass '-fsanitize=*' flags for GCC and LLVM, and '-specs=*' for GCC
    to linker.

  - Pass '-Xassembler=*' and '-Wa,*' flag to compilers and linkers.

  - The variable 'FILECMD' with default value of '/usr/bin/file' was used to
    replace existing hard coded references to '/usr/bin/file'.

  - Add MidnightBSD support.

** Important incompatible changes:

  - Libtool changed ARFLAGS/AR_FLAGS default from 'cru' to 'cr'.

  - Do not pass '-pthread' to Solaris linker.

  - 'libtool' and 'libtoolize' scripts now use '#! /usr/bin/env sh' shebang.
    Previously '#! /bin/sh' was used, which presents challenges for
    containerized environments.

** Bug fixes:

  - Fix significant slowdown of libtoolize for certain projects (regression
    introduced in 2.4.3 release) caused by infinite m4 macro recursion.

  - Mitigate the slowdown of libtool script (introduced in v2.4.3) caused by
    increased number of calls to '$SED $sed_quote_subst' (bug#20006).

  - Properly parse and export TLS symbols on AIX.

  - Various bug fixes surrounding use of 'sed'.

  - Darwin systems set proper "allow undefined" flag on OSX 11, and
    PowerPC 10.5.

  - Removed some deprecated tests related to 'Makefile.inc' files.


Enjoy!

Categories: FLOSS Project Planets

denemo @ Savannah: Version 2.6 released

Sat, 2022-03-12 11:19

Version 2.6 of Denemo has been released
New Features for release 2.6
    Pitches First note entry method
        Notes are visualized on a special MIDI track
        Entering rhythms inserts notes from MIDI track
        Recorded MIDI is re-synchronized as each bar is entered
        Facilities to play, backup, advance, delete, restart recording
    Support all system/markup spacing controls
    Easy setting of conditional behavior of Denemo Directives
        Directives attached all objects (notes, chords, time/key signatures etc)
        Use e.g. for changes of clef only for certain instruments
    Editing the LilyPond for individual objects
        Applies to all objects (notes, chords, time/key signatures etc)
        Use e.g. to create editions with chords for smaller hands
    Support creating score/paper/header Directives at startup from Score Properties Editor
        Directives are created only where absent
    Allow easy toggling between listening/playing-in pitches via Shift key.
    Create Score and Parts in one PDF
    Allow setting transposition on playback easily
    Allow recording and attaching musical audio fragments to a score while composing
    Easier setting of Movement Tempo
    Improvements to Playback Controls
        Better control over playback volume
        Simplify setting playback start/end markers
        Better use of colors
    Improve Legibility
        Paler Denemo Cursor
        Allow alteration of brightness of playback start/end markers
    View Menu Improvements
        Turn various windows on/off by shortcut
        Switch back to Main Window with Esc or Ctrl-w
    Staff Display Spacing Control
        Ctrl-Drag to loosen/tighten spacing in display
        Auto/Manual spacing available
        Allows tight spacing for small screens
    Allow trailing staff lines at end of movement
    Bug Fixes
        Fix setting of movement tempo in playback controls
        Fix Inserting Breve and Longa
        Fix display of dotted Breve and Longa after reload
        Fix spurious 0xffffff keypress on windows
        Fix setting/following links to source files esp. on Windows
        Fix display of key signatures for tenor and baritone clefs
        Prevent staff braces being attached to Marks/Dynamics staffs
        Fix sounding duration of grace notes on dotted notes
        Check part lists are same in all movements on Check Score.
        Fix Performance for case where there is an upbeat at the start
        Fix Performance View for LilyPond version 2.22
        Fix Hide Movement as Sketch
        Fix Duplicated Titles
        Fix staff heights in display not resetting
        Fix lyric pane not showing sometimes
        Fix lyrics clashing with beaming in display
        Hidden staff markers avoid clashes
        Arrow at right of display now reliably shifts the displayed measures
        Improvements in restoring window sizes on re-starting Denemo
        Playback Fixes
            Pause no longer hangs notes
            Reset places end play at end
            Initial Playbutton icon change when pausing fixed
            Playback markers in display now follow notes accurately
            Fix clutter in display at Playback Start marker
            Fix Pause for Windows version

Categories: FLOSS Project Planets

FSF News: Contract opportunity: Bookkeeper

Fri, 2022-03-11 18:01
The Free Software Foundation (FSF), a Massachusetts 501(c)(3) charity with a worldwide mission to protect computer user freedom, seeks a motivated and talented Boston-based individual to provide bookkeeping and financial operations support. This is a temporary, part-time contract opportunity with potential for additional hours and/or extension.
Categories: FLOSS Project Planets

Luca Saiu: GNU Jitter and GCC: the fun of playing with fire

Thu, 2022-03-10 15:32
A few days ago on March 6 I participated in the Binary T00ls Summit online event () organised by José Marchesi (); a video recording is now available. My presentation had the ridiculous title GNU Jitter and the illusion of simplicity or Copying, patching and combining compiler-generated code in executable memory or The Anarchist’s guide to GCC or The fun of playing with fire — or, in shortened form, GNU Jitter and GCC: the fun of playing with fire. This is the official abstract: GNU Jitter is a generator of portable and efficient language virtual machines; a Jittery VM lies ... [Read more]
Categories: FLOSS Project Planets

GNU Taler news: Central Bank Accounts are Dangerous and Unnecessary: A critique of two papers

Wed, 2022-03-09 18:07
In December 2021, the European Central Bank (ECB) published a report on ``CentralBank Digital Currency: functional scope, pricing and controls'' in itsOccasional Paper Series, detailing various challenges for theDigital Euro. While the authors peripherally acknowledge the existence oftoken-based payment systems, the notion that a Digital Euro will somehowrequire citizens to have some kind of central bank account is pervasive in thepaper. We argue that an account-based design cannot meet the ECB's stateddesign goals and that the ECB needs to fundamentally change its mindset whenthinking about its role in the context of the Digital Euro if it wants theproject to succeed.Along the same lines, the French National Council for Digitalization publisheda report on ``Notesand Tokens, The New Competition of Currencies''. Here, the authors makerelated incorrect claims about inevitable properties of Central Bank DigitalCurrencies (CBDCs), going as far as stating that a CBDC is not possiblewithou [...]
Categories: FLOSS Project Planets

poke @ Savannah: Binary Tools Summit 2022 slides and videos are now available

Wed, 2022-03-09 16:40

The Binary Tools Summit 2022 online event was held last weekend, and we had lots of fun.  We also learned a lot.

The slides for the presentations and video recordings of the talks are now available at the event website: https://binary-tools.net/summit

Thanks again to all the presenters and participants!

Categories: FLOSS Project Planets

FSF News: FSF job opportunity: program manager

Tue, 2022-03-08 16:56
The Free Software Foundation (FSF), a Massachusetts 501(c)(3) charity with a worldwide mission to protect computer user freedom, seeks a motivated and talented Boston-based individual to be our full-time program manager.
Categories: FLOSS Project Planets

health @ Savannah: GNU Health HMIS 4.0.1 patchset released!

Tue, 2022-03-08 12:05

Dear community

GNU Health 4.0.1 patchset has been released !

Priority: High

Table of Contents
  • About GNU Health Patchsets
  • Updating your system with the GNU Health control Center
  • Summary of this patchset
  • Installation notes
  • List of other issues related to this patchset
About GNU Health Patchsets

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.

Patches and Patchsets maximize uptime for production systems, and keep your system updated, without the need to do a whole installation.

NOTE: Patchsets are applied on previously installed systems only. For new, fresh installations, download and install the whole tarball (ie,
gnuhealth-4.0.1.tar.gz)

Updating your system with the GNU Health control Center

Starting GNU Health 3.x series, you can do automatic updates on the GNU Health HMIS kernel and modules using the GNU Health control center
program.

Please refer to the administration manual section (https://en.wikibooks.org/wiki/GNU_Health/Control_Center)

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.

Summary of this patchset

Update Python dependencies

We needed to pin some underlying python libraries dependencies. We also included defusedxml library, included in a trytond security patch

  • progressbar
  • defusedxml
  • pycountry

GNU Health control center (gnuhealth-control) and gnuhealth-setup packages have also been updated to 4.0.1 and ready at GNU.org

Installation Notes

You must apply previous patchsets before installing this patchset. If your patchset level is 4.0.0, then just follow the general instructions. You can find the patchsets at GNU Health main download site at GNU.org (https://ftp.gnu.org/gnu/health/)

In most cases, GNU Health Control center (gnuhealth-control) takes care of applying the patches for you. 

Pre-requisites for upgrade to 4.0.1: None

Now follow the general instructions at

After applying the patches, make a full update of your GNU Health database as explained in the documentation.

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.

  • Restart the GNU Health server
List of other issues and tasks related to this patchset

For detailed information about each issue, you can visit https://savannah.gnu.org/bugs/?group=health

For detailed information about each task, you can visit https://savannah.gnu.org/task/?group=health

For detailed information you can read about Patches and Patchsets

Happy and healthy hacking !

Luis

Categories: FLOSS Project Planets

health @ Savannah: New community server for GNU Health HMIS and Thalamus in Germany

Mon, 2022-03-07 20:01

Dear community

We're very happy to announce the new community server for GNU Health, Thalamus and the GH Federation hub / demo servers!

Thanks to our friends and sponsors from Kontent in Germany (www.kontent.com), the server has now plenty of RAM and resources to meet the requirements of an ever-increasing GNU Health community.

This is a fresh installation with Debian GNU/Linux 11. The host name is the same (federation.gnuhealth.org). The box provides the demo GNU Health Hospital Management System, Thalamus (GH Federation message and authentication server) and the demo for the GH Federation Health and demographics Database.

As we just installed it, please check that all deps are in place and everything goes smoothly :)

Thank you again to Kontent for sponsoring us, and for providing this wonderful service to the GNU Health community!

Happy and healthy hacking!
Luis

Categories: FLOSS Project Planets

unifont @ Savannah: Unifont 14.0.02 Released

Sun, 2022-03-06 19:58

6 March 2022 Unifont 14.0.02 is now available.  This release makes modifications to several glyphs in Plane 0 and Plane 1.  It is a stable release.

Download this release from GNU server mirrors at:

     https://ftpmirror.gnu.org/unifont/unifont-14.0.02/

or if that fails,

     https://ftp.gnu.org/gnu/unifont/unifont-14.0.02/

or, as a last resort,

     ftp://ftp.gnu.org/gnu/unifont/unifont-14.0.02/

These files are also available on the unifoundry.com website:

     https://unifoundry.com/pub/unifont/unifont-14.0.02/

Font files are in the subdirectory

     https://unifoundry.com/pub/unifont/unifont-14.0.02/font-builds/

Categories: FLOSS Project Planets

Pages