66 version 0.8.0.0 now in stable repos
Dear Obarun users, all required packages for 66, updated for the new 0.8.0.0 release, have been moved from the testing repository to their respective stable counterparts. Archives of previous versions can be found in the [obarchive]
repository on the packages page.
If you haven’t completed the migration yet, follow the instructions below.
66 Migration Instructions
The release includes a new upgrade process that is fully transparent to the user. Whether a migration involves changes to the resolve file or other components, 66 automatically detects version upgrades and makes the necessary adjustments, ensuring continuity with the new version. This process does not affect the state of running services, and an automatic snapshot is created during the migration to facilitate easy recovery if needed.
The release also includes a new snapshot command, offering a comprehensive backup solution for the 66 ecosystem. This feature guarantees that you can restore the exact state of the ecosystem before any changes. Importantly, using snapshots does not alter the state of running services.
Refer to the upgrade page for further information concerning new features and behavior changes.
Before proceeding, carefully read all instructions below and ensure you understand each command. If you have any questions or concerns, don't hesitate to seek assistance on the Obarun forum.
Migration
Note
Be sure to have the 66 and skalibs package in your /var/cache/pacman/pkg
directory. It will be easier for you in case you need a rollback.
Just synchronize and update your system.
Now you just need to trigger the automatic migration process by invoking any 66 command, for instance, by using the new behavior of the 66 status
command:
# 66 -v3 status
This will trigger the migration process for the root account.
Now, do the same for your regular user:
% 66 -v3 status
That's all!
You can also directly initiate a reboot, though this is not mandatory to use the new release. This will migrate your system before rebooting.
Warning
You need to trigger the migration for the root account first before triggering it for regular users.
Warning
The migration process should complete successfully. If you encounter any errors, restore your previous system by performing a rollback and post an issue on 66 with as much information as possible about the crash.
Rollback
As the automatic migration process take a snapshot before processing, you can restore your previous system easily if something goes wrong. To do so, run:
# 66 snapshot restore system@0.7.2.1
Then, do the same for your regular account:
% 66 snapshot restore system@0.7.2.1
Note
You can see the list of available snapshot with the command 66 snapshot list
Now you need to downgrade the package
# cd /var/cache/pacman/pkg
# pacman -U skalibs-2.14.2.0-1-x86_64.pkg.tar.xz execline-2.9.6.0-1-x86_64.pkg.tar.xz 66-0.7.2.1-2-x86_64.pkg.tar.xz 66-tools-0.1.0.2-3-x86_64.pkg.tar.xz oblibs-0.3.0.1-2-x86_64.pkg.tar.xz s6-2.13.0.0-1-x86_64.pkg.tar.xz s6-dns-2.3.7.2-1-x86_64.pkg.tar.xz s6-linux-utils-2.6.2.0-2-x86_64.pkg.tar.xz s6-networking-2.7.0.3-1-x86_64.pkg.tar.xz s6-portable-utils-2.3.0.3-2-x86_64.pkg.tar.xz oblog-0.1.1.0-6-x86_64.pkg.tar.xz obsysusers-0.1.2.1-5-x86_64.pkg.tar.xz
Also, downgrade your services packages.
Personal service
The migration process only deals with active services, meaning those that are running when you execute (as root or a regular user):
# 66 tree status
But you may have personal frontend files that are not active. To help with this, use the script below by running:
./migration_service.sh /path/to/my/<FrontendFile>
#!/bin/sh
service="${1}"
sed -e "s:\[main\]:\[Main\]:g" \
-e "s:@type:Type:g" \
-e "s:@description:Description:g" \
-e "s:@version:Version:g" \
-e "s:@depends:Depends:g" \
-e "s:@requiredby:RequiredBy:g" \
-e "s:@optsdepends:OptsDepends:g" \
-e "s:@options:Options:g" \
-e "s:@flags:Flags:g" \
-e "s:@notify:Notify:g" \
-e "s:@user:User:g" \
-e "s:@timeout-kill:TimeoutStart:g" \
-e "s:@timeout-up:TimeoutStart:g" \
-e "s:@timeout-finish:TimeoutStop:g" \
-e "s:@timeout-down:TimeoutStop:g" \
-e "s:@maxdeath:MaxDeath:g" \
-e "s:@down-signal:DownSignal:g" \
-e "s:@hiercopy:CopyFrom:g" \
-e "s:@intree:InTree:g" \
-e "s:\[start\]:\[Start\]:g" \
-e "s:@build:Build:g" \
-e "s:@runas:RunAs:g" \
-e "s:@execute:Execute:g" \
-e "s:\[stop\]:\[Stop\]:g" \
-e "s:\[logger\]:\[Logger\]:g" \
-e "s:@destination:Destination:g" \
-e "s:@backup:Backup:g" \
-e "s:@maxsize:MaxSize:g" \
-e "s:@timestamp:Timestamp:g" \
-e "s:\[environment\]:\[Environment\]:g" \
-e "s:\[regex\]:\[Regex\]:g" \
-e "s:@configure:Configure:g" \
-e "s:@directories:Directories:g" \
-e "s:@files:Files:g" \
-e "s:@infiles:InFiles:g" \
-i ${service}
See the Rosetta Stone for the list of keyword name changes.
Some Reasons
This release marks a major step towards the end of planned breaking changes for version 66. Version 0.7.0.0
introduced stability in the directory hierarchy of the 66 ecosystem, and version 0.8.0.0
solidified the stability of frontend file keys. While the implementation of events may happen in version 0.9.0.0
, this can potentially occur without breaking existing 66 components(see roadmap).
I hope this new version will satisfy you and that you will appreciate the changes made.
Thank you for your continued support of Obarun.
Thanks for your attention
Eric Vidal: eric@obarun.org