La version 0.6 du projet ravynOS a été publiée, développant un système d'exploitation basé sur FreeBSD, visant à atteindre la compatibilité avec les applications macOS et à fournir une interface utilisateur au style macOS. Les avancées du projet sont distribuées sous la licence BSD. La taille de l'image ISO d'installation est de 760 Mo (x86_64).
Les objectifs du projet incluent l'atteinte de la compatibilité avec les applications macOS au niveau des codes sources et des fichiers exécutables. Dans le premier cas, cela implique la possibilité de recompiler le code des applications macOS pour qu'elles s'exécutent sous ravynOS, et dans le second, l'intégration dans le noyau et les outils de modifications pour exécuter des fichiers Mach-O, compilés pour les architectures x86-64 et arm64.
Les systèmes de fichiers pris en charge incluent ZFS ainsi que les systèmes de fichiers HFS+ et APFS utilisés dans macOS. En plus des hiérarchies /usr et /usr/local typiques de FreeBSD, des répertoires spécifiques à macOS sont créés : /Library, /System et /Volumes. Les répertoires personnels des utilisateurs sont placés dans la hiérarchie /Users. Dans chaque répertoire personnel, un sous-répertoire ~ /Library est dédié aux applications utilisant l'interface de programmation Apple Cocoa.
Pour assurer la compatibilité avec macOS, une implémentation partielle de l'interface de programmation Cocoa et du runtime Objective-C est fournie (située dans le répertoire /System/Library/Frameworks), ainsi que des compilateurs et des linkers modifiés pour leur support. En plus de la couche de compatibilité avec macOS, ravynOS permet également d'exécuter des applications Linux, basée sur l'infrastructure d'émulation de l'environnement Linux (Linuxulator) proposée dans FreeBSD.
Les applications peuvent être formatées en tant que paquets app-autonomes (App Bundle) au format AppImage, placés dans les répertoires /Applications ou ~/Applications. Aucune installation ou gestionnaire de paquets n'est nécessaire — il suffit de faire glisser le fichier AppImage et de l'exécuter. La prise en charge des paquets traditionnels de FreeBSD est également conservée.
L'environnement graphique est construit sur la base de son propre gestionnaire de fenêtres. de serveurs, utilisant un serveur composite allégé labwc (le support de la décoration des fenêtres côté serveur et des thèmes a été supprimé), wlroots et le protocole Wayland. Dans les applications graphiques, des frameworks tels que Qt et Cocoa peuvent être utilisés. L'interface utilise des concepts typiques de macOS, tels qu'une barre supérieure avec un menu global, une structure de menu identique, des raccourcis clavier, un gestionnaire de fichiers Filer au style similaire et le support de commandes telles que launchctl et open.
Parmi les changements par rapport à la version 0.5 :
- Le système de base a été mis à jour vers la branche FreeBSD 15-STABLE.
- Une interface graphique minimaliste avec un nouveau panneau supérieur SystemUIServer et un dock en bas a été introduite.

- Un prototype de l'émulateur de terminal Terminal.app a été inclus.

- Le gestionnaire de connexion LoginWindow est lancé immédiatement après le démarrage. En mode live, il est possible de se connecter au système sans mot de passe en utilisant le login liveuser.

- La possibilité de quitter la session graphique avec la combinaison de touches Win-Shift-Q a été ajoutée.
Source : opennet.ru



