| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is part of the upgrades work. With this tool you
can now switch between versions of the OS, remove a
version, list all the versions present in the system, get
the default version and the running version, and deploy
a new system.
All of the above is possible with the following subcommands:
- list
- deploy
- get-default
- get-running
- remove
- set-default
It also activates a bootloader menu to choose a version
to boot. The menu is important to make sure the user can
boot the old OS if the new kernel doesn't work.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds a script to merge and syncronize /etc in different system versions.
The first argument read from command line is the mode, which can be one
of the following:
- test: the purpose of this mode is to test some merge cases. It
receives from the command line v1_dir, vu_dir and v2_dir and
vt_dir. The meaning of these arguments is explained in the
script.
- merge: merges the user changes in /etc in the run system of the
version given as argument
- sync: syncronizes /etc in all run versions, so that this directory is exactly
the same as the version given as argument.
This commit also includes an auxiliary script to mount the systems directory in a
give directory given as argument, and some testing folders to use with
the test mode.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This command is written in bash and takes four parameters:
* a device with a btrfs file system to mount
* the source subvolume name
* the target subvolume name
* the path to a patch file or stream
It then creates the target subvolume as a snapshot of the source
subvolume, applies the patch in there, then creates a <target>-run
snapshot and copies the boot files (vmlinuz, extlinux.conf) to the root
file system. Lastly, it adjusts extlinux.conf to point to the -run
snapshot.
|
|
This commit converts tbdiff to being an autotools-based project. This
means that we now support the usual
autoreconf -i && ./configure && make && make install
process, plus we provide 'make check' for the tbdiff test suite.
The tbdiff library is now build as a shared library and is also
installed into the system for others to use. The library is
libtool-versioned and ships a pkg-config file (tbdiff-1.pc).
The headers were adjusted so that only tbdiff/tbdiff.h may be included
directly; all others are considered internal. The tbdiff-create and
tbdiff-deploy tools were changed to include this header file.
The tbdiff library is still GPL, not LGPL. We might want to change this
in the future.
Thanks to switching to autotools we now have a way to make releases by
means of 'make dist' and 'make distcheck'. Unfortunately, the latter
currently fails, probably due to something being missing in
tbdiff/Makefile.am.
|