| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
baserock-sytem-config-sync:
Changes here are caused by a bug found in GNU patch
managing the permissions of the files when using the
patch command like:
patch <file_to_apply_patch> -t -o <output_file>
To reproduce the bug:
echo foo > file1
echo bar > file2
diff -u file1 file2 | patch 1 -t -o file3
ls -l
You can check that the permissions of 'file3' are different
than the permissions of 'file1' or 'file2'.
To avoid the bug, this patch changes the way we are using
patch, using it as following:
patch <file_to_apply_patch> -t
Since the output file is not specified, the output file will
be the file in which we want to apply the patch. And
due we cannot specify the output file, we are copying
the file to the destination directory, and then applying
the patch there.
As a consequence of changing the way of using patch, now
'patch' generates an extra file when patching fails. This
file is added in the test suite also in this commit.
|
|/ |
|
|\ |
|
| |
| |
| |
| | |
name, and explicitly ask for a unified diff
|
|/ |
|
|\ |
|
| | |
|
| | |
|
|/ |
|
|\ |
|
| | |
|
| | |
|
|/ |
|
|\ |
|
|/ |
|
|\ |
|
|/ |
|
|\ |
|
| | |
|
|/
|
|
|
|
| |
Disabled (renamed) old tests that have been converted
Removed compilation instruction for symtime.c from README
|
|\ |
|
| | |
|
| | |
|
|/ |
|
|\ |
|
|/
|
|
| |
Also changed the time of last modification scenarios to use timestamps.
|
|\ |
|
|/ |
|
|\ |
|
|/
|
|
|
|
|
|
| |
This introduces a yarn which demonstrates testing tbdiff.
Also included is a shell library to assist with writing yarn based tests,
a script for running the test suite and a simple README for executing the
tests.
|
|
|
|
|
|
|
| |
directory
Or else the test using extended attributes will fail because extended
attributes are not supported in tmpfs.
|
|
|
|
|
|
|
|
|
| |
Tests will now be handled by a test suite in a future commit, so this
mode will not be needed anymore. The test suite will work by replacing
the mounting script by a fake mounting script that points to a directory
with a systems folder.
Also add trap again, now that it is more tested.
|
|
|
|
|
|
|
|
|
|
|
| |
- Check if file is the same kind in all versions before attempt to patch
it.
- Use the batch mode in patch command, as the script will be executed
remotely
- Remove the use of the trap for now. It was not well test and it was
causing the old directories to not be removed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
The sync calls should not be needed, so I'm dropping them as well.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|