summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* system-version-manager: Allow specifying custom path for ↵baserock/pedroalvarez/trove-upgrades-rebase2Sam Thursfield2014-03-061-1/+5
| | | | | | | baserock-system-config-sync This is helpful when deploying an upgrade to a system that doesn't already have baserock-system-config-sync installed.
* Add script to modify the bootloader and manage different parallel OS.Pedro Alvarez2014-03-064-2/+338
| | | | | | | | | | | | | | | | | | | | 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.
* baserock-system-config-sync: Force copy /etc/passwd and /etc/groupPedro Alvarez2014-03-061-0/+8
| | | | | | | | | | | | | | | | | | This change is to ensure the existing users will exist after an upgrade. Otherwise, if there are merge conflicts when upgrading, the users will be lost and the root password will be deactivated. If that happens and the only way to access to the system is through ssh and the system was rebooted after the upgrade (manually or automatically) then the system won't be accessible anymore. This change also means that we can no longer make changes to the base /etc/passwd or /etc/group in the 'fhs-dirs' chunk without adding a manual hook to add the new users/groups when upgrading old systems. In the following link is the email thread where was discussed this issue: http://vlists.pepperfish.net/pipermail/baserock-dev-baserock.org/2014-March/004581.html
* baserock-system-config-sync: Add some logging to the standard output.Pedro Alvarez2014-03-061-0/+15
|
* Modify 'baserock-system-config-sync' to get two arguments using 'merge'Pedro Alvarez2014-03-062-7/+8
| | | | | | | Since with 'system-version-manager' is possible to change the default system, 'baserock-system-config-sync' shouldn't get the default system, and get an extra parameter to choose the system version to merge.
* Fix error in the baserock-system-config-sync behaviour table.Pedro Alvarez2014-03-051-2/+2
| | | | | | | When one file is present in v1 and in vUser, and is not present in v2, baserock-system-config-sync copies vUser version of the file. This was happening before this commit, but it was wrong explained in the behaviour table.
* Fix behaviour in bscs-merge when vUser and v2 don't have a file of v1Pedro Alvarez2014-03-052-4/+3
| | | | | If a file was removed in vUser, and v2 doesn't have a new one, then the file is not longer needed.
* Merge branch 'baserock/pedroalvarez/bscs-wrong-merge2'Pedro Alvarez2014-02-2610-11/+33
|\ | | | | | | Reviewed-by: Richard Maw
| * Prevent patching when 'vu == v2' in 'baserock-system-config-sync'.Pedro Alvarez2014-02-261-6/+15
| | | | | | | | | | | | | | When vu == v2, the script tried to reverse the patch. Now this won't happen again. Also added '-f' flag calling 'patch' to prevent also reverse patching.
| * Fix baserock-system-config-sync tests. Wasn't working as expected.Pedro Alvarez2014-02-261-5/+2
| |
| * Add test case for vu == v2 in 'baserock-system-config-sync'Pedro Alvarez2014-02-248-0/+16
|/ | | | | 'baserock-system-config-sync' is doing reverse patching when that happens. This test is to check the expected behaviour.
* Merge branch 'baserock/pedroalvarez/bscs-upgrade-tests3'Pedro Alvarez2014-02-203-4/+38
|\ | | | | | | | | Reviewed-by: Richard Maw Reviewed-by: Sam Thursfield
| * Modify the way to use 'patch' in 'baserock-system-config-sync'.Pedro Alvarez2014-02-202-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * Update 'baserock-system-config-sync' tests to check permissionsPedro Alvarez2014-02-201-2/+30
|/
* Merge branch 'benbrown/bscs-non-baserock'Ben Brown2014-01-061-10/+10
|\
| * Add options to diff command to change header content to only include file ↵Ben Brown2014-01-061-2/+2
| | | | | | | | name, and explicitly ask for a unified diff
| * Removed 'local' from variables that are not within functionsBen Brown2014-01-061-8/+8
|/
* Merge branch 'benbrown/S9537/convert-xattribute-tests'Ben Brown2014-01-0621-839/+144
|\
| * Remove old tests and any code specific to those testsBen Brown2013-12-1919-839/+2
| |
| * Scenarios testing extended attributes on file systems that support themBen Brown2013-12-182-0/+83
| |
| * Add newlines to increase readabilityBen Brown2013-12-171-0/+59
|/
* Merge branch 'benbrown/S9482/convert-socket-tests'Ben Brown2013-12-163-4/+88
|\
| * Socket scenarios addedBen Brown2013-12-161-3/+44
| |
| * Add socket creation program to MakefileBen Brown2013-12-161-1/+2
| |
| * Added C program which creates named Unix socketsBen Brown2013-12-161-0/+42
|/
* Merge branch 'benbrown/S9462/convert-device-tests'Ben Brown2013-12-111-10/+55
|\
| * Chardev and blockdev scenarios addedBen Brown2013-11-191-10/+55
|/
* Merge branch 'benbrown/S9561/scenario-language'Ben Brown2013-11-191-176/+172
|\
| * Modified yarn to be more readable, IMPLEMENTS made "cleaner"Ben Brown2013-11-141-176/+172
|/
* Merge branch 'benbrown/S9451/convert-directory-tests'Ben Brown2013-11-0611-142/+218
|\
| * Symtime now compiles at 'make', rather than 'make check'Ben Brown2013-11-051-1/+1
| |
| * Conversion of tbdiff directory testsBen Brown2013-11-0510-141/+217
|/ | | | | | Disabled (renamed) old tests that have been converted Removed compilation instruction for symtime.c from README
* Merge branch 'benbrown/S9423/convert-symlink-tests'Ben Brown2013-11-014-75/+204
|\
| * Updated the README to reflect changes made.Ben Brown2013-11-011-2/+16
| |
| * Makefile.am now creates helper binary on make check and executes yarnsBen Brown2013-11-011-0/+5
| |
| * Added symlink scenarios and a C program that changes the mtimes of symlinks.Ben Brown2013-11-012-73/+183
|/
* Merge branch 'benbrown/yarns'Ben Brown2013-10-291-46/+94
|\
| * Conversion of fifo tbdiff tests to yarnBen Brown2013-10-281-46/+94
|/ | | | Also changed the time of last modification scenarios to use timestamps.
* Merge remote-tracking branch 'remotes/origin/benbrown/yarns'Lars Wirzenius2013-10-251-4/+98
|\
| * Conversion of tbdiff test '00_regular_file_diff.sh' to yarnBen Brown2013-10-251-4/+98
|/
* Merge branch 'benbrown/yarns'Ben Brown2013-10-244-0/+67
|\
| * Add new Yarn based test suiteBen Brown2013-10-244-0/+67
|/ | | | | | | | 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.
* Change the temporary directory used for tests to be based on the current ↵Tiago Gomes2013-07-011-1/+3
| | | | | | | directory Or else the test using extended attributes will fail because extended attributes are not supported in tmpfs.
* Remove test mode and provide hooks to use a test suite.Tiago Gomes2013-07-01222-33/+1003
| | | | | | | | | 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.
* Impromevements to baserock-system-configTiago Gomes2013-07-014-44/+57
| | | | | | | | | | | - 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.
* Script to merge and syncronize /etc in different system versionsTiago Gomes2013-06-2549-1/+725
| | | | | | | | | | | | | | | | | | | | 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.
* Add a few btrfs filesystem sync calls for debugging.Jannis Pohlmann2012-03-272-2/+9
|
* Rename tbdiff-switch to tb-switch.Jannis Pohlmann2012-03-274-5/+5
|
* Rename tbdiff-update to tb-update.Jannis Pohlmann2012-03-274-5/+5
|
* Clear traps before exiting, explicitly umount before reboot.Jannis Pohlmann2012-03-262-6/+18
| | | | The sync calls should not be needed, so I'm dropping them as well.