Finally, after two months of hard work, the release Phoenix 23.03 is out and is the first Desktop release under the new macaronios.org domain.
In these two months, we had to follow infrastructure issues (broken hard disks) and create the new Macaroni network. This is one of the reasons we have skipped the release of February.
We want to thank again the GARR consortium that is now our primary mirror under our CDN and this will permit in the next weeks to expose again the ISOs download page and our LXD images.
This release doesn’t expose extraordinary packages or upgrades but is a big milestone for us because a lot of our work is under the hood and will be better understood by the users in the next months when another big target will be reached: the creation of the Macaroni documentation.
A big milestone
The first major target reached is the first big rewrite of the Macaroni PMS
tool luet that now:
-
has a new solver completely rewritten that now respects repositories priorities, it’s 100x fast and consumes few memory. The only limit at the moment is that until the
luet-buildbinary will be rewritten the repository metadata will be yet with a big YAML file that must be exploded at least one time when is called theluet repo updatecommand but this will be fixed in the near future. This is been an important result to begin ARM integration -
the integration of the new solver has permitted the creation of the
maskpackages feature. It works in a similar way to Funtoo portage and will be described in detail in the Macaroni documentation in the near future. This is an important result because will permit to supply multiple versions of the same package and using the mask feature to hide a specific version to a target rootfs. You can think of a package like NVIDIA drivers where legacy cards need to have a specific version, or again if a user wants to create their packages and hide the Macaroni version, etc. -
the
providessupport is been reviewed to permit a good means to manage correctly packages that are replaced. The correct way to use provide is to define a specific version in the provides and not a selector. For example:provides: - category: cat name: foo version: 0.1.0 -
the
installcommand now doesn’t try to upgrade automatically the system; it just tries to resolve the dependencies and the packages selected and install them. This will permit to install of specific packages also when there are upgrades available. -
the
luetnow permits to select of packages only by name. I really love this feature, because permits the reduction of the text written and speeds up the installation and research. For example:$> luet i app-emulation/lxd-composebecomes:
$> luet i lxd-compose -
luet repo listcommand has now a new look and option:$> luet repo list --urls geaaru-repo-index Geaaru Repository index Revision 4 - 2023-02-25 10:32:39 +0000 UTC Priority 1 - Type http Urls: * https://raw.githubusercontent.com/geaaru/repo-index/gh-pages macaroni-commons-dev Macaroni OS Commons Development Repository Revision 131 - 2023-03-08 22:17:57 +0000 UTC Priority 10 - Type http Urls: * https://dev.macaronios.org/macaroni-commons-dev/ macaroni-commons-testing Macaroni OS Commons Testing Repository Priority 20 - Type http Urls: * https://dl.macaronios.org/repos/macaroni-commons-testing/ * https://cdn2.macaronios.org/repos/macaroni-commons-testing/ * https://macaronios.mirror.garr.it/repos/macaroni-commons-testing/ -
the original solvers are no more available and will be dropped from the code when also the
luet-buildbinary will be rewritten. -
The upgrades/installs output is now more clear with the cons that for now the download process is not parallel. This fixes the progress bar issues. We are working on following an output similar to portage that will be available in the next release
0.35.0. -
We have begun to work on commands that permit configuring
subsetsbut they are to be complete. -
it’s now available a new command
luet query orphansthat permits retrieving all packages no more available in the enabled repository.
In general, now you can control with luet every action and package
of your system. If there are issues in the new solver you aren’t blocked,
you can manually fix issues with hidden (and for expert users) commands
luet miner that will be described in the documentation.
This is what is been said from an user on testing the new luet binary:
Feels like you took a Ford Fiesta and turned it into a Ferrari
Really, thanks for this comment that will get me more power to go ahead.
A lot of new improvements and features are in our backlog.
An important thing that is not yet available is the possibility to downgrade the packages if I user wants to convert a rootfs updated with a testing repository to a stable repository. But is in our plan to add this feature soon.
ATTENTION: Due to all these changes, my suggestion is to upgrade this time the luet binary manually with a download from the site and the follow what is been described in the new FAQ section of the website.
$> sudo wget -O /usr/bin/luet https://github.com/geaaru/luet/releases/download/v0.34.2-geaaru/luet-v0.34.2-geaaru-Linux-x86_64
$> sudo chmod a+x /usr/bin/luet
We will improve this operation in the near future.
macaronictl gets power!
The luet rewritten is not the only new improvement, the management CLI
of Macaroni OS, macaronictl
gets more power:
-
macaronictl env-updateis been completely written in Golang following the same Funtoo/Gentoo logic. This permits to have Macaroni OS systems to the need to install thesys-apps/portagepackage. This migration is not yet completely completed but will be so in the next release. -
macaronictltool has a newetc-updatecommand written in Golang that uses the same/etc/etc-update.confconfig and it implements a similar logic to the Portageetc-updatecommand. -
macaronictltool has a newkernel availablescommand that permit to retrieve all kernel available from the enabled repositories and supply some metadata:$> macaronictl kernel availables --lts | KERNEL | KERNEL VERSION | PACKAGE VERSION | EOL | LTS | RELEASED | TYPE | |----------|----------------|-----------------|-----------|------|------------|---------| | macaroni | 4.14.305 | 4.14.305 | Jan, 2024 | true | 2017-11-12 | vanilla | | macaroni | 5.10.168 | 5.10.168 | Dec, 2026 | true | 2020-12-13 | vanilla | | macaroni | 5.15.94 | 5.15.94 | Oct, 2026 | true | 2021-10-31 | vanilla | | macaroni | 5.4.231 | 5.4.231 | Dec, 2025 | true | 2019-11-24 | vanilla | | macaroni | 6.1.12 | 6.1.12 | Dec, 2026 | true | 2022-12-11 | vanilla |This will help with the feature that will be available in the next future to switch between kernels.
Funtoo integration (experimental)
In the middle of all the new implementations we have released a new release of the
luet-portage-converter tool that is used normally to generate automatically updates
from our luet specs.
I hope that this will be a lovely experience for the Funtoo users.
I will leave users with a bit of suspense until I will write the documentation in
the next weeks but the new luet-portage-converter sync command will permits:
-
convert a Funtoo system to a Macaroni OS and get updates from Macaroni or restore the broken system.
-
sync with the Macaroni PMS the packages installed with
emergeto theluetdatabase and/or sync packages previously installed withluetand then upgraded withemerge.
Obviously, to use these features is needed a Macaroni OS with subsets portage and devel enabled.
ATTENTION: This new command is pretty experimental and must be used carefour.
Domain migration again
I’m sorry but after the integration of the Consortium GARR I reviewed the stable domains with a CDN chain. I added in the FAQ section of the website some tips about easily upgrading the repositories. I hope that things will be more stable now but using free services has some cons.
What’s new
This new release has some interesting updates:
-
LXD 5.11 and LXC 5.0.2
-
Libreoffice 7.5.0.3
-
Firefox 1.109.0.1
-
Brave 1.48.158
-
Grafana 9.3.6 and Prometheus 2.42.0
-
Blender 3.4.1
-
ZFS 2.1.9
-
KDE Framework 5.85.5 and KDE Plasma 5.22.5
-
Openshot video editing tool updated to release 2.6.1
-
Cinelerra is been dropped. The website has tons of forks without a tag and it seems hard to maintain.
-
Grub 2.04 with patch related to the use of new e2fsprogs v.1.47.0. See debian issue.
-
Open VMtools 12.1.5
-
All kernels modules are been renamed following the naming convention:
kernel-<kernel-branch>as category. This will help searching andmacaronictlintegration. Always related to the kernel, the stringLTSis been removed from kernel packages. The LTS information is now available over the package annotations. -
See the release page for the detail of all updates.
What next?
Hereinafter, our hot points for the next releases:
-
Drop support to Python 2.7 from Phoenix and leave Python 3.7 only. We will upgrade to Python 3.9 later.
-
Continue to work begun on writing documentation and FAQ for users.
-
Begin the rewrite of
luet-buildbinary and improve look&feel of theluetoutput. -
Add the new ISOs webpage and prepare the release of the ISO 23.03. We need to wait for the sync of the GARR mirror and the propagation.
-
Add new features to
luet-portage-converterto manage multiple versions of the same package. -
Add new features to
macaronictltool -
Add Macaroni OS LXD images to
images.linuxcontainers.org.
We waiting for you
We waiting for you in our Discord Server.
Thanks
Many thanks to all Funtoo devs that are the sap of all this and to all people that helps us with testing and donations.
Support Us
Any user that wants to support our work for Macaroni could do this through the Github Sponsor.