------------------------------------------------------------------- Tue May 7 14:25:07 UTC 2024 - Ignaz Forster - Version 4.6.8 - tukit: Properly handle overlay syncing failures: If the system would not be rebooted and several snapshots accumulated in the meantime, it was possible that the previous base snapshot - required for /etc syncing - was deleted already. In that case changes in /etc might have been reset. [gh#openSUSE/transactional-update#116] [gh#kube-hetzner/terraform-hcloud-kube-hetzner#1287] - soft-reboot: Log requested reboot type - soft-reboot: Don't force hard reboot on version change only ------------------------------------------------------------------- Tue Apr 30 13:09:04 UTC 2024 - Ignaz Forster - Version 4.6.7 - Add support for snapper 0.11.0; also significantly decreases cleanup time [boo#1223504] ------------------------------------------------------------------- Thu Apr 18 14:53:17 UTC 2024 - Ignaz Forster - Version 4.6.6 - soft-reboot: Fix inverted logic of soft-reboot detection - soft-reboot: Don't use D-Bus for snapper call - it may be shutting down already - soft-reboot: Remove unused variable - doc: Document configuration file snippets for tukit.conf - Remove script to disable soft-reboot support - this is the default for now anyway ------------------------------------------------------------------- Fri Apr 12 15:36:13 UTC 2024 - Ignaz Forster - Version 4.6.5 - Rework soft-reboot support introduced in 4.6.0: - On transactional systems with systemd 254 the system could hang with with a soft-reboot, as /var and /etc have to be mounted in /run/nextroot explicitly. As a soft-reboot can also be triggered by an admin the mounting of the corresponding mount points was moved to a systemd service to be independent of t-u itself. - Support for systemd 255 - Don't decrease reboot level on multiple commands - Various other bugfixes - soft-reboot support is disabled by default now to gather more feedback - libtukit: Fix kexec reboot method to boot kernel / initrd of next snapshot - tukit: Don't clone lock file handle on exec [boo#1222411] - t-u: Always use zypper of installed system [bsc#1221346] - t-u: Remove remaining telemetrics references - Add prepare-nextroot-for-softreboot service - Add (empty) %check section ------------------------------------------------------------------- Tue Mar 12 17:12:33 UTC 2024 - Ignaz Forster - Disable soft-reboot support for now as long as it isn't working reliably - Move tukit.conf to correct package ------------------------------------------------------------------- Mon Mar 4 14:55:53 UTC 2024 - Ignaz Forster - Version 4.6.0 - tukit / t-u: Implement support for systemd soft-reboot, but needs package manager support (provided by zypp-boot-plugin on openSUSE) to determine which kind of reboot is required; the minimally required reboot method (soft-reboot, kexec, full reboot) will be used automatically if enabled (see tukit.conf). This deprecates the "kexec" reboot method in favor of automatic selection. - tukit: Determine D-Bus availability via system socket instead of brute force - tukit: Don't ignore return status of snapper - plugins can return an error code now where tukit has to fail [gh##118] / [poo#127169] - tukit: Remove BTRFS dependencies in snapper backend, user snapper for for everything directly. In theory this should support further file systems such as bcachefs if they follow the same layout (untested). - t-u: Add safety net before deleting overlays [boo#1217416] - t-u: Remove telemetry support, the required packages haven't been in the repository for quite some time as they were abandoned upstream. - doc: Document option to use names in BINDDIRS array - doc: Mention tukit.conf in t-u man page - doc: Link Reboot.hpp as an officially supported API on the main page - Code cleanup ------------------------------------------------------------------- Thu Jan 18 16:19:41 UTC 2024 - Ignaz Forster - Use "up" instead of "dup" by default on ALP [bsc#1218861] ------------------------------------------------------------------- Mon Nov 20 17:12:20 UTC 2023 - Ignaz Forster - Version 4.5.0 - libtukit: Use permissions of real /etc when creating overlay [bsc#1215878] - libtukit, tukit: Support "rollback" via library now - tukitd: Implement Snapshot delete and rollback methods - tukit: Check for missing arguments with "close" and "abort" commands - t-u: Warn user when using "kdump" if it isn't configured to avoid confusion with "setup-kdump" [boo#1215725] - t-u: Abort if mkdumprd run is not successful - t-u: Use defaut from config file if t-u is called without arguments [gh#openSUSE/transactional-update#101] - Improved README.md [gh#openSUSE/transactional-update#59] and API docs - Code cleanup ------------------------------------------------------------------- Mon Sep 11 13:55:40 UTC 2023 - Ignaz Forster - Version 4.4.0 - t-u: Introduce setup-fips command [jsc#SMO-194] - libtukit: Always set a cleanup algorithm for snapshots - when using API, D-Bus interface or tukit the snapshots will be automatically cleaned up by snapper after some time now; in the past only snapshots created by the transactional-update shell script would be cleanup after, and only after a `t-u cleanup` run. [gh#openSUSE/transactional-update#62] - tukit: enable kexec's syscall detection feature - tukit: Don't throw exceptions from the child process after fork - tukitd: Rename service file to org.opensuse.tukit.service - tukitd: Allow querying DBus Properties [boo#1214707] - t-u: Add support for fully written-out update commands - t-u: Improve detection of existing kernel parameters ------------------------------------------------------------------- Wed Jun 28 15:01:34 UTC 2023 - Ignaz Forster - Version 4.3.0 - Replace custom tu-rebuild-kdump-initrd with call to mkdumprd [gh#openSUSE/transactional-update#107]. - Add support for libmount 2.39. The behaviour change was not intended and will be changed in 2.39.1 (see [gh#util-linux/util-linux#2326], but it was easy to fix it anyway. - Honor LIBMOUNT_DEBUG variable for additional output. ------------------------------------------------------------------- Mon May 8 17:38:24 UTC 2023 - Ignaz Forster - Version 4.2.1 - Implement "apply" command to switch into new snapshot directly [jsc#PED-3912] - Use new snapper functionality to set default snapshot - this makes it possible to execute hooks as requested in [poo#127160], [gh#openSUSE/transactional-update#85] and [gh#openSUSE/transactional-update#105]. - Don't hardcode GRUB2 [gh#openSUSE/transactional-update#100] / [poo#127154] - Fix cleanup handler - Fix unmounting temporary mounts - Prevent loosing track of snapshots in certain rollback scenarios - these would not be marked for deletion otherwise - Document "notify" reboot method - Minimal required snapper version is 0.8.10 now, for the new snapper functionality there is a backwards compatibility layer. - Conflict with health-checker < 1.8 - the "good" snapshot detection of GRUB cannot rely on transactional-update any more due to the new apply command - Depend on usrmerge for apply command ------------------------------------------------------------------- Thu Mar 23 11:52:21 UTC 2023 - Ignaz Forster - Version 4.1.5 - Add support for configuration file snippets ------------------------------------------------------------------- Fri Mar 10 14:05:37 UTC 2023 - Ignaz Forster - Version 4.1.4 - Workaround for broken Tumbleweed package libfdisk1 ------------------------------------------------------------------- Wed Feb 8 15:14:26 UTC 2023 - Ignaz Forster - Version 4.1.3 - Suppress SELinux relabelling output in quiet mode - Documentation readability improvements ------------------------------------------------------------------- Mon Jan 23 13:54:11 UTC 2023 - Ignaz Forster - Version 4.1.2 - Don't try to mount user mounts if they don't exist [boo#1207366] ------------------------------------------------------------------- Wed Jan 18 16:56:16 UTC 2023 - Ignaz Forster - Version 4.1.1 - Mount user specific binddirs last: Prevously the internal mounts would potentially overwrite user bind mounts [boo#1205011] - selinux: Relabel shadowed /var files during update to make sure they don't interfere with the update [boo#1205937] - Clean up /var/lib/overlay more aggressively [boo#1206947] - tukit: Merge /etc overlay into parent if --discard is used together with --continue - previously the files were incorrectly always merged with the currently running system - status: do not execute the status command if experimental - Don't delete created mount point dirs any more - Small code optimizations ------------------------------------------------------------------- Fri Sep 30 12:39:17 UTC 2022 - Ignaz Forster - Version 4.1.0 - t-u: Add a "setup-kdump" command; implements [jsc#PED-1441] - Export TRANSACTIONAL_UPDATE_ROOT (the path to the snapshot) in the update environment; implements [jsc#PED-1078] - Add support for "notify" reboot method for desktop use [gh#openSUSE/transactional-update#93] - Fix kdump initrd recreation detection; the check was performed in the active snapshot instead of the target snapshot - Document register command [bsc#1202900] - Avoid unnecessary snapshots for register command [bsc#1202901] - Various optimizations for register command - Remove bogus error message when triggering reboot - Rework /etc overlay documentation in "The Transactional Update Guide" - Fix incorrect manpage formatting - Remove leftover "salt" reboot method in configuration example file - Replace deprecated std::mem_fn with lambdas ------------------------------------------------------------------- Thu Sep 1 14:03:58 UTC 2022 - Stefan Schubert - Migration of logrotate configuration to /usr/etc: Saving user changed configuration files in /etc and restoring them while an RPM update. ------------------------------------------------------------------- Mon Aug 22 15:14:24 UTC 2022 - Fabian Vogt - Version 4.0.1 - create_dirs_from_rpmdb: Just warn if no default SELinux context found [gh#openSUSE/transactional-update#88], [bsc#1188215] - create_dirs_from_rpmdb: Don't update the rpmdb cookie on failure [gh#openSUSE/transactional-update#88] - Handle directories owned by multiple packages [gh#openSUSE/transactional-update#90], [bsc#1188215] ------------------------------------------------------------------- Tue Aug 2 14:32:35 UTC 2022 - Ignaz Forster - Version 4.0.0 - Last minute interface change: Changed "List" method of Snapshot D-Bus interface to return a map of properties instead of a comma separated list of strings; this will allow retrieving the snapshot properties even if they contain a comma in their value [boo#1202147] - Remove "Snapshot.hpp" as a public API for now - all public functionality is part of SnapshotManager.hpp - Add header file documentation for SnapshotManager.hpp - Add method to delete snapshot [gh#openSUSE/transactional-update#52] - Allow setting description of snapshot [gh#openSUSE/transactional-update#55] - create_dirs_from_rpmdb: set SELinux file context of missing directories [gh#openSUSE/transactional-update#84], [bsc#1197242] - Fix broken logrotate due to typo in config file [gh#openSUSE/transactional-update#87] - create_dirs_from_rpmdb: Fix handling return code of create_dirs() [gh#openSUSE/transactional-update#86] - Fix broken "shell" prompt after selfupdate - Add documented D-Bus interface definition files - Add tukit_sm_get_current and tukit_sm_get_default to C interface - Fixed typos ------------------------------------------------------------------- Tue Jun 21 08:02:24 UTC 2022 - Stefan Schubert - Moved logrotate files from user specific directory /etc/logrotate.d to vendor specific directory /usr/etc/logrotate.d. ------------------------------------------------------------------- Tue May 17 07:59:57 UTC 2022 - Ignaz Forster - Version 4.0.0~rc4 - Fix building with GCC 12 - Fix stack overflow with very long commands / ids [bsc#1196149] - Use separate mount namespace for chroot, allowing overwriting the bind mounts from the update environment - this could have lead to data loss of the bind mount previously - Fix C error and exception handling for snapshots ------------------------------------------------------------------- Tue May 3 10:21:35 UTC 2022 - Ignaz Forster - Version 4.0.0~rc3 - Add Snapshot interface - Reworked signal handling: All public signals are sent from the main thread now, keeping the same sender for everything - Implement D-Bus call "Execute" for Transactions - Implement interface for listing Snapshots - Implement Reboot interface - Fix bug when using --continue on old snapshots - Fix hypothetical integer overflow in snapshot list [bsc#1196826] - Fix wrong sort order in status command [gh#openSUSE/transactional-update#80] ------------------------------------------------------------------- Sun Mar 6 17:46:14 UTC 2022 - Ignaz Forster - Version 4.0.0~rc2 - Fix missing prompt in "shell" command [bsc#1196580] - Add output of tukit commands to log file - Fix compilation error with GCC12 [boo#1194876] - Fixed (non-critical) security review comments [boo#1196149] - Fixed selfupdate - Code cleanup ------------------------------------------------------------------- Fri Nov 22 18:05:54 UTC 2021 - Ignaz Forster - Version 4.0.0~rc1 This release is API, but not ABI compatible with previous releases; existing applications will have to be recompiled against this new version. Major features: - Introduces a D-Bus service to access the libtukit API via the org.opensuse.tukit.Transaction interface - Introduces a C binding via libtukit.h. Other changes: - t-u: Rework --quiet handling to make sure no output is shown even in error cases; this is necessary for automation, e.g. with Salt. [gh#openSUSE/transactional-update#73] - tukit: Allow storing command output into variable by introducing a new optional parameter for "execute" and "callExt". - Replace multiple and non-standalone occurenses of {} in "callExt" argument. - Split transactional-update.timer into transactional-update.timer and transactional-update-cleanup.timer; the later will clean up old snapshots even when the system does not do automatic updates. - tukit: Remove legacy alias "setDiscard" for "setDiscardIfUnchanged". - Throw exception if snapshot is not found. - Fix various compiler warnings - Update spec file: - Include tukitd D-Bus daemon - Only install one version of the library (as there are no breaking API changes yet) - Add %pre scriplets for systemd services - Replace %systemd_postun scriptlets with %systemd_postun_with_restart to satisfy rpmlint checks - Add transactional-update log file as %ghost file ------------------------------------------------------------------- Fri Nov 19 16:58:21 UTC 2021 - Ignaz Forster - Version 3.6.2 - Bind mount root file system snapshot on itself, this makes the temporary directory in /tmp unnecessary; also fixes [boo#1188110] to return the correct snapshot's working directory via API call. - Use separate mount namespace for transactional-update; this should fix several applications that fail to run if a mount point has the 'unbindable' mount flag set ------------------------------------------------------------------- Wed Nov 10 14:55:06 UTC 2021 - Ignaz Forster - Version 3.6.1 - Fix rsyncing /etc into the running system with --drop-if-no-change [bsc#1192242] ------------------------------------------------------------------- Fri Oct 22 17:53:36 UTC 2021 - Ignaz Forster - Version 3.6.0 - Simplify mount hierarchy by just using a single slave bind mount as the root of the update environment; this may avoid the error messages of failed unmounts May fix [boo#1191945] ------------------------------------------------------------------- Tue Oct 12 09:42:57 UTC 2021 - Ignaz Forster - Version 3.5.7 Various fixes affecting Salt support: - t-u: Don't squash stderr messages into stdout - t-u: Correctly handle case when the snapshot has been deleted due to using --drop-if-no-change: Don't show reboot messages and avoid an awk error message [bsc#1191475] - tukit: Make inotify handler less sensitive / ignore more directories [bsc#1191475] ------------------------------------------------------------------- Thu Sep 23 23:12:28 UTC 2021 - Ignaz Forster - Version 3.5.6 - tukit: Add S/390 bootloader support [bsc#1189807] - t-u: support purge-kernels with t-u patch [bsc#1190788] ------------------------------------------------------------------- Fri Sep 17 14:02:17 UTC 2021 - Ignaz Forster - Version 3.5.5 - t-u: Use tukit for SUSEConnect call [bsc#1190574] Correctly registers repositories ------------------------------------------------------------------- Sat Sep 11 21:21:09 UTC 2021 - Ignaz Forster - Version 3.5.4 - tukit: Fix resolved support [boo#1190383] ------------------------------------------------------------------- Mon Sep 6 10:04:50 UTC 2021 - Ignaz Forster - Version 3.5.3 - t-u: Purge kernels as part of package operations Required for live patching support [bsc#1189728] ------------------------------------------------------------------- Mon Aug 30 17:17:29 UTC 2021 - Ignaz Forster - Version 3.5.2 - tukit: Fix overlay syncing errors with SELinux [bsc#1188648] - Don't print message for `shell` with --quiet [gh#openSUSE/transactional-update#69] ------------------------------------------------------------------- Tue Aug 3 12:41:41 UTC 2021 - Ignaz Forster - Version 3.5.1 - t-u: Disable status file generation by default The new experimental `status` command requires the availability of /etc/YaST2/control.xml, which is not present on all systems. Hide the creation of the corresponding status file behind a new EXPERIMENTAL_STATUS option to try out this functionality. - Increase library version ------------------------------------------------------------------- Tue Aug 3 07:37:36 UTC 2021 - Ignaz Forster - Add tukit.conf to spec file ------------------------------------------------------------------- Mon Aug 2 15:58:09 UTC 2021 - Ignaz Forster - Version 3.5.0 - Add alias setDiscardIfUnchanged for setDiscard. The old method name wasn't really clear and will be removed if we should have an API break in the future - Replace mkinitrd with direct dracut call [boo#1186213] - tukit: Add configuration file support (/etc/tukit.conf) - Allow users to configure additional bind mounts (see /usr/etc/tukit.conf for an example and limitations) [bsc#1188322] - Add 'transactional-update status' call. This is a POC for obtaining a hash of a system to verify its integrity. The functionality is still experimental! - Internal bugfixes / optimizations ------------------------------------------------------------------- Sun Jun 13 23:18:28 UTC 2021 - Ignaz Forster - Version 3.4.0 - Apply SElinux context on /etc in transaction [boo#1185625], [boo#1185766] [bsc#1186842], [boo#1186775] - Implement inotify handling in C instead of Bash; this makes the --drop-if-no-change option work on SLE Micro [bsc#1184529] - Use `tukit call` for up, dup and patch to allow resuming an update after zypper updated itself in the snapshot [bsc#1185226] - Fix obsolete output type messages in initrd [boo#1177149] - Make different base snapshot warning more visible [bsc#1185224] ------------------------------------------------------------------- Thu Mar 25 22:13:59 UTC 2021 - Ignaz Forster - Version 3.3.0 - Add support for more package managers by bind mounting their directories - Support snapshots without dedicated overlay [boo#1183539], [bsc#1183539] - Link RPM database correctly with older zypper versions [boo#1183521] - Don't discard manual changes in fstab [boo#1183856], [bsc#1192302] ------------------------------------------------------------------- Fri Mar 12 13:45:09 UTC 2021 - Ignaz Forster - Revert inotify-tools dependency: The package is not available in SLE. This will probably have to be implemented as a native C version. ------------------------------------------------------------------- Fri Mar 12 13:08:04 UTC 2021 - Ignaz Forster - Version 3.2.2 - Don't skip patches with rebootSuggested flag [bsc#1183442] ------------------------------------------------------------------- Wed Mar 10 15:14:03 UTC 2021 - Ignaz Forster - Version 3.2.1 - t-u: Forward --quiet option to tukit - Regression: Add /opt as bind mount into update environment - Remove output indicators of the called command to not tamper the result line - Fix /etc syncing with --drop-if-no-change ------------------------------------------------------------------- Wed Mar 10 12:40:56 UTC 2021 - Alberto Planas Dominguez - Requires inotify-tool to have --drop-if-no-change available ------------------------------------------------------------------- Tue Mar 2 23:58:27 UTC 2021 - Ignaz Forster - Version 3.2.0 - tukit: Add new command 'callext' to execute an application while the snapshot is mounted. '{}' as a parameter will be replaced with the path of the bind mount. - Fix --drop-if-no-change [boo#1182525] - Check whether self-updated version is executable (e.g. on noexec /tmp) [bsc#1173842] - Fix overlay synchronisation with SELinux (again) - Always overwrite supplemental files (e.g. for network configuration) even if they exist in the snapshot already [boo#1182544] - Improve logging and error messages ------------------------------------------------------------------- Wed Feb 17 08:44:18 UTC 2021 - Ignaz Forster - Version 3.1.4 - SELinux: Fix syncing of SELinux attributes when using overlays - SELinux: Tag the overlay directory itself (again) ------------------------------------------------------------------- Mon Feb 15 13:10:39 UTC 2021 - Ignaz Forster - Version 3.1.3 - Fix overlay syncing on SELinux systems - Fix resuming transactions where the parent does not exist any more ------------------------------------------------------------------- Fri Feb 12 12:29:27 UTC 2021 - Ignaz Forster - Version 3.1.2 - libtukit: Report when application was terminated due to a signal, and return the signal number as a return value. This will cause the transaction to be aborted when called via `execute`. - libtukit: Set PATH variable for internal commands to fixed value to find the helper applications, as in some environments such as PolicyKit PATH wouldn't be set. - Fix compiler warnings ------------------------------------------------------------------- Tue Feb 9 21:15:52 UTC 2021 - Ignaz Forster - Version 3.1.1 - Fix hang in tukit on aarch64 [bsc#1181844] - Prevent deletion of snapshots when resuming a snapshot where no transaction is open - Make tukit work in non-dbus environments [boo#1181934] ------------------------------------------------------------------- Tue Feb 2 13:53:20 UTC 2021 - Ignaz Forster - Version 3.1.0 - t-u: Support installing RPMs from the user's directory again - Adapt selfupdate to new packaging - Implement signal handling - Remove empty text files ------------------------------------------------------------------- Mon Feb 1 09:20:44 UTC 2021 - Ignaz Forster - Add libselinux build time dependency - Remove RPM version check ------------------------------------------------------------------- Mon Feb 1 08:36:36 UTC 2021 - Ignaz Forster - Fix libstdc++ filesystem ABI incompatibility by using newer gcc version on old distributions. [boo#1181582] ------------------------------------------------------------------- Thu Jan 28 14:25:53 UTC 2021 - Neal Gompa - Rework packaging based on Fedora packaging to separate all the components to remove the intrinsic requirement for Zypper ------------------------------------------------------------------- Wed Jan 27 10:13:53 UTC 2021 - Ignaz Forster - Version 3.0.0 - This release changes the internal structure, but should be identical to the previous release feature wise. - Major parts of the previous Bash only application have been rewritten in C++ with the goal to provide an API around transactions; the transactional-update script is using that new interface internally already, however the API should be considered experimental for now - if you are interested to use it, please notify us in https://github.com/openSUSE/transactional-update/issues/52 - A new tool called "tukit" provides a C++ tool that can be wrapped by scripts to leverage the functionality. Please consider it experimental for now, the commands may still change. - Bugfixes: - Implement support for system offline update [boo#1180808] - Add statistics files to update environment [boo#1173282] ------------------------------------------------------------------- Mon Nov 9 08:30:54 UTC 2020 - Ignaz Forster - Version 2.38.3 - SELinux: Make synchronisation work for both pre-SELinux snapshots and later snapshots; SELinux support should be ready for most tasks now. ------------------------------------------------------------------- Fri Oct 30 08:45:46 UTC 2020 - Ignaz Forster - Version 2.28.2 - SELinux: Exclude security.selinux attribute from rsyncing (again) ------------------------------------------------------------------- Thu Oct 29 15:05:24 UTC 2020 - Ignaz Forster - Version 2.28.1 - SELinux: Fixed changing the wrong grub configuration file - SELinux: Move /.autorelabel file to writeable location ------------------------------------------------------------------- Thu Oct 22 12:20:38 UTC 2020 - Ignaz Forster - Version 2.28 - Add 'setup-selinux' command for easy setup of a SELinux system - Allow complex commands for the 'run' command - SELinux: Fix /etc / overlay labeling ------------------------------------------------------------------- Wed Oct 14 09:32:15 UTC 2020 - Ignaz Forster - Version 2.27 - Add support for network systemd-resolvd network connections in t-u environment - Mount /var/lib/ca-certificates read-write to prevent SELinux error - Prevent calling transactional-update from within transactional-update ------------------------------------------------------------------- Sat Sep 26 14:50:12 UTC 2020 - Ignaz Forster - Version 2.26 - Fix broken sync for second snapshot [boo#1176989] - Add new options to allow separate cleanup of snapshots and overlays - Check for existence of inotifywait before using it - Check that mount options don't exceed maximum length ------------------------------------------------------------------- Mon Sep 21 16:17:12 UTC 2020 - Ignaz Forster - Version 2.25.1 - Fix inotify watcher setup - Use log_{info,error} for more messages to avoid messing up Salt logs ------------------------------------------------------------------- Mon Sep 21 14:09:41 UTC 2020 - Ignaz Forster - Version 2.25 - Reduce number of overlays: Instead of using transparent overlays for all previous layers only add the previous snapshot's overlay; this will greatly reduce the number of overlays while still making sure that /etc changes in the running system will be visible in the next snapshot - When using --drop-if-no-change synchronize potential /etc changes with running system - Exclude all non-root-fs mounts from inotify watcher ------------------------------------------------------------------- Wed Aug 12 10:06:11 UTC 2020 - Ignaz Forster - Version 2.24.1 - SELinux: adjust labels for etc, fstab and grub.cfg ------------------------------------------------------------------- Thu Aug 6 08:32:11 UTC 2020 - Ignaz Forster - Version 2.24 - Add partial SELinux support ------------------------------------------------------------------- Fri Jul 31 16:11:04 UTC 2020 - Ignaz Forster - Version 2.23 - Add "run" command to be able to execute a single command in a new snapshot - Add "--drop-if-no-change" option to discard snapshots if no changes were perfomed (BETA, required for Salt integration) - Removed previous CaaSP Salt support (gh#openSUSE/transactional-update#33) - Avoid "file not found" message on systems without /var subvol ------------------------------------------------------------------- Thu Jul 23 13:17:47 UTC 2020 - Thorsten Kukuk - Remove unused attr requires - Change bc to file requires ------------------------------------------------------------------- Tue Jun 23 15:39:12 UTC 2020 - Ignaz Forster - Version 2.22 - Use pkgconf to determine installation paths - Enable SSL connections in update shell [boo#1149131] & [boo#1133891] & [boo#1192078] ------------------------------------------------------------------- Mon Apr 6 08:02:55 UTC 2020 - Ignaz Forster - Version 2.21.1 - Rework error messages on failing umount [boo#1168389] ------------------------------------------------------------------- Mon Mar 30 12:09:34 UTC 2020 - Ignaz Forster - Update to version 2.21 - Use slave mounts for /proc, /sys & /dev ------------------------------------------------------------------- Thu Mar 26 08:21:24 UTC 2020 - Ignaz Forster - Update to version 2.20.4 - Mount efivarfs on EFI systems to make sure the bootloader will be installed correctly [boo#1162320] - Fix removal of existing overlay directories ------------------------------------------------------------------- Fri Mar 13 12:10:02 UTC 2020 - Ignaz Forster - Add dependencies to btrfsprogs, zypper and snapper - most of the functionality is not usable if those applications are not installed. [boo#1166502] ------------------------------------------------------------------- Tue Mar 3 16:34:26 UTC 2020 - Ignaz Forster - Update to version 2.20.3 - Reintroduce compatibility with RPM < 4.15 for inclusion in SLE / Leap 15.2 - Prepare for removal of /var/lib/alternatives [jsc#SLE-9101] ------------------------------------------------------------------- Wed Feb 26 09:58:23 UTC 2020 - Ignaz Forster - Update to version 2.20.2 - Use full names for zypper options [bsc#1164543] - Ignore /var/lib/rpm in shadowed file output - Optimize create-dirs-from-rpmdb ------------------------------------------------------------------- Tue Jan 7 10:52:39 UTC 2020 - Ignaz Forster - Update to version 2.20.1 - Add missing documentation about --continue option - Avoid error message about missing fstab file on first snapshot creation. [boo#1160213] ------------------------------------------------------------------- Fri Nov 8 10:27:10 UTC 2019 - Ignaz Forster - Update to version 2.20 - Add the option `--continue` to extend an existing snapshot. This can be used to perform multiple operations before rebooting into the new state. [gh#openSUSE/transactional-update#16] - Make sure the dracut service to print warnings on /etc overlay conflicts also runs in the pre-made images. - Add "none" reboot method - Remove conflicting overlay artifacts in case an existing overlay directory will be reused ------------------------------------------------------------------- Wed Sep 25 15:13:35 UTC 2019 - Ignaz Forster - Update to version 2.17 - Provide network in shell on systems where resolv.conf is pointing to /run directly [boo#1151081] - Print new snapshot number at the end - Always mount /root subvolume when using shell command to preserve history ------------------------------------------------------------------- Mon Sep 9 19:36:59 UTC 2019 - Ignaz Forster - Update to version 2.16 - Use default command if options, but no command was given [boo#1146116] - Make sure only one process appears in `ps` output [boo#1111897] - Move update check: If a new repository is added (and ZYPPER_AUTO_IMPORT_KEYS is set) adding the new repository key won't fail any more - Avoid unnecessary snapshots / reboots by detecting zypper operations without changes more reliably (e.g. when installing an already installed package) - Update the manpage accordingly - Bugfixes: - Ignore commented lines in fstab when checking for shadowed files - Avoid warning when copying network config - Remove Perl dependency - Building documentation requires Python 3 now ------------------------------------------------------------------- Wed Jun 5 15:15:09 UTC 2019 - Ignaz Forster - Update to version 2.15 - Move description of interactiveness [boo#1132438] - Enable network during update [boo#1137890] - Add compatibilty with new overlayfs versions [boo#1140057] - Allow updates of the bootloader on EFI systems [boo#1139015] - Add support for /boot/writable [boo#1138725] ------------------------------------------------------------------- Mon Apr 29 12:20:51 UTC 2019 - Ignaz Forster - Update to version 2.14.2 - Prevent unnecessary error message on systems not installed with YaST (e.g. KIWI) ------------------------------------------------------------------- Wed Apr 17 08:37:18 CEST 2019 - kukuk@suse.de - Add requires for bc, needed for some calculations ------------------------------------------------------------------- Mon Mar 25 14:53:12 UTC 2019 - Ignaz Forster - Update to version 2.14.1 - Improve non-root fs changes checker based on feedback - Disable snapper's zypper plugin during transactional-update run - Allow parallel installation with snapper's zypper plugin (useful on read-write systems). ------------------------------------------------------------------- Fri Mar 15 10:45:52 UTC 2019 - Ignaz Forster - Update to version 2.14 - Warn user if contents of /var have been changed during update - Noteworthy: swapped position of upperdir and lowerdir in fstab for better readability - Major update to the transactional-update guide ------------------------------------------------------------------- Mon Mar 4 10:40:21 CET 2019 - kukuk@suse.de - Update to version 2.13.2 - add hooks for telemetrics ------------------------------------------------------------------- Thu Feb 14 16:26:54 UTC 2019 - iforster@suse.com - Update to version 2.13.1 - Bugfix: Clean up empty /etc snapshot directories again - Use official release files from GitHub for building ------------------------------------------------------------------- Thu Feb 14 12:14:47 UTC 2019 - iforster@suse.com - Update to version 2.13 - Fix a serious data loss problem (deleting all files in /etc overlays) in case /var/lib/overlay/etc is not part of any snapshot any more. - Avoid error message in case a system has no /etc/fstab.sys ------------------------------------------------------------------- Mon Jan 28 19:05:42 UTC 2019 - iforster@suse.com - Update to version 2.12 - Implements support for needs-restart (Fate#326451) - Adds easy rollback to last known working snapshot by using "last" as the snapshot number - Migrate /etc/fstab.sys entires to /etc/fstab for systemd being able to create mount units; this will prevent errors on unmount - Remove implicit --no-allow-vendor-change - this option can be configured in zypper's configuration file now - Add support for mounting the /etc overlay file system as a systemd unit in /etc/fstab on a read-only system (replacing /etc/fstab.sys in the long run) - Various bugfixes: - Only remove /etc overlays on read-only root file systems [boo#1122455] - Disable "Persistent" flag in systemd timer unit to prevent updates during or immediately after the boot phase - Don't set global zypper options during migration - this is not supported by the migration plugin - Fix error handling when interrupting while rsync is running - Filter out security.selinux attributes during rsync ------------------------------------------------------------------- Sat Nov 17 09:06:44 UTC 2018 - Jan Engelhardt - Use noun phrase in summary. ------------------------------------------------------------------- Mon Nov 12 14:27:24 UTC 2018 - iforster@suse.com - Update to version 2.11 - Update man page to explain new /etc overlay handling - Add special handling for migrating away from old overlay directory - Read default update method for systemd service from config file - Add package "transactional-update-zypp-config" to prevent accidental transactional-update uninstallation on transactional systems (boo#1111319) - Use "up" for systemd service on non-rolling release distributions (boo#1111321) ------------------------------------------------------------------- Thu Oct 4 12:42:35 UTC 2018 - iforster@suse.com - Update to version 2.10 - Introduce /etc overlays - Each root file system snapshot now has a dedicated /etc overlay in /var/lib/snapshots//etc - Changes in older snapshots will be visible in newer snapshots (if the file hasn't been changed in both snapshots), but not the other way around; this makes it possible to roll back to a previous snapshot even if the configuration is broken - The /etc state of the oldest active snapshot will be synchronized into the new snapshot to prevent ever growing overlays - Removed creation of /etc backup snapshots - Removed complex overlayfs cleanup handling during dracut early boot; only thing left is to output a warning if files have been changed in old and new overlay after snapshot creation - Unused overlays will be removed during "cleanup" operation - Add compatibility with snapper >= 0.7.0 - Correctly detect BTRFS ID when using multiple snapper configurations - Fix disappearing prompt in "shell" command when application was updated - Prevent accidental rollback on fast reboots (boo#1111786) - Use zypper attribute packages-to-change if available (boo#1105992 & boo#1097619) - Add kexec as reboot alternative - Added explicit --with-doc / --without-doc build configure opttions for enforcing or excluding documentation build - Removed precompiled documentation (boo#1088676) - Added more dependency checks to configure script - Small improvements to documentation - Restored compatibility with older rsync versions not supporting the -x filter - Small bugfixes for cleanup in error situations - Fix possible incorrect detection of snapshots numbers during cleanup - Mention parent in snapshot description - Add dependencies for documentation build (boo#1088676) ------------------------------------------------------------------- Mon Aug 20 15:09:44 UTC 2018 - iforster@suse.com - Update to version 2.6 - Add --interactive and --non-interactive options to change the default interactivity for zypper calls. For previously non-interactive calls (e.g. dup) these options makes it possible to pick the correct solution in case of conflicts or make sure that a script will never be stuck at an input prompt. - Add kured reboot support - Tries to clean up temporary files and mount points if transactional-update quits unexpectedly - Remove trancactional-update-helper (replaced by zypper options) - Create /var/lib/zypp if not available (boo#1104452) - Robustify parsing zypper output (boo#1105992) - Various small fixes - Changed permissions of systemd script again ------------------------------------------------------------------- Fri Jun 15 12:05:24 UTC 2018 - iforster@suse.com - Update to version 2.5 - Support for overlayfs attributes like trusted.overlay.opaque - this will avoid disappearing configuration files on system updates - Documentation update - Only sync /etc if it's on an overlayfs mount - Use correct locale for zypper - thus updating locale specific packages and avoiding "empty" updates where transactional-update didn't see the change - Add dependency to attr - Fix permissions of systemd script ------------------------------------------------------------------- Tue Jun 5 17:07:25 CEST 2018 - kukuk@suse.de - Update to version 2.4 - Bug fix release ------------------------------------------------------------------- Mon May 14 16:16:08 UTC 2018 - iforster@suse.com - Update to version 2.3 - Reformat help text / synopsis - More detailled output (use --quiet for less output) - Log all error messages into log file - Avoid potential lock file race condition on self update - Accept package names with whitespace - Don't wait for user input during self-update - Fix broken error message output when creating new snapshot without reboot - Fix erroneous mounting of stale grub mounts ------------------------------------------------------------------- Wed May 2 08:39:18 UTC 2018 - iforster@suse.com - Update to version 2.2 - Fix security issue in self update [boo#1091316] - Create dirs in /var more reliably by sorting the list - Rebuild initrd (needed since 2.0) ------------------------------------------------------------------- Thu Apr 26 15:14:36 CEST 2018 - kukuk@suse.de - Update to version 2.1 - Cleanup the code cleaning up /etc ------------------------------------------------------------------- Tue Apr 24 14:23:41 CEST 2018 - kukuk@suse.de - Update to version 2.0 - Create missing directories from rpm database during boot - Merge /etc overlay with root subvolume during update ------------------------------------------------------------------- Fri Apr 20 15:57:21 CEST 2018 - kukuk@suse.de - Update to version 1.29 - Implement self-update - Disable optical media on dup - Ignore certain zypper return codes ------------------------------------------------------------------- Tue Apr 3 08:51:33 UTC 2018 - rbrown@suse.com - Add conflicts with snapper-zypp-plugin ------------------------------------------------------------------- Sat Mar 17 19:48:44 UTC 2018 - rbrown@suse.com - Require perl-HTML-Parser (needed since 1.26) [boo#1085764] ------------------------------------------------------------------- Mon Mar 12 13:19:49 CET 2018 - kukuk@suse.de - Update to version 1.28 - Adjust for latest grub2 ------------------------------------------------------------------- Tue Mar 6 13:32:38 CET 2018 - kukuk@suse.de - Update to version 1.27 - Fallback to snapper without dbus support if dbus fails - Add workaround for update-alternatives - Add support for /usr/etc/transactional-update.conf ------------------------------------------------------------------- Fri Feb 23 12:01:53 UTC 2018 - kukuk@suse.com - Use %license instead of %doc [bsc#1082318] ------------------------------------------------------------------- Wed Jan 31 16:14:14 CET 2018 - kukuk@suse.de - Update to version 1.26 - Auto accept repo keys config option - Detect broken snapshots after abort - Ignore user deleted snapshots - Include all error messages in main log file - Add configuration file - Correctly implement migration of major OS versions - Default reboot strategy is configuration option - Salt option is deprecated ------------------------------------------------------------------- Tue Jan 9 11:42:20 CET 2018 - kukuk@suse.de - Update to version 1.25 - preliminary SELinux support - support for seperate /var subvolume ------------------------------------------------------------------- Tue Dec 5 19:38:47 UTC 2017 - kukuk@suse.de - Update to version 1.24 - Don't save unused snapshots if we may delete them again. Partly fixes [bsc#1071038] - Copy passwd, group and shadow to /usr/etc if modified ------------------------------------------------------------------- Fri Nov 17 14:54:33 CET 2017 - kukuk@suse.de - Update to version 1.23 - Fix re-registration in rollback case - Fix problems with updating the grub2 bootloader - Add support for migration of products with SCC/SMT - Re-add support to re-write bootloader [bsc#1068933] ------------------------------------------------------------------- Tue Nov 7 16:34:28 CET 2017 - kukuk@suse.de - Update to version 1.22 - Rewrite cleanup code to be more aggressive ------------------------------------------------------------------- Fri Oct 27 13:52:56 CEST 2017 - kukuk@suse.de - Update to version 1.21 - Reset salt grains even if no update was found ------------------------------------------------------------------- Wed Sep 13 11:24:28 CEST 2017 - kukuk@suse.de - Update to version 1.20 - Improve documentation - Add pkg update option ------------------------------------------------------------------- Fri Jun 30 09:58:51 CEST 2017 - kukuk@suse.de - Update to version 1.19 - Add 'shell' option for debugging and testing ------------------------------------------------------------------- Wed Jun 28 14:13:27 CEST 2017 - kukuk@suse.de - Update to version 1.18 - Auto accept product license in non-interactive mode ------------------------------------------------------------------- Tue Jun 27 09:12:58 CEST 2017 - kukuk@suse.de - Update to version 1.17 - copy modified bootloader config into snapshot - unit file cleanup, no change of behavior ------------------------------------------------------------------- Mon Jun 26 14:21:38 CEST 2017 - kukuk@suse.de - Update to version 1.16 - internal changes [bsc#1045942] ------------------------------------------------------------------- Thu Jun 1 15:56:56 CEST 2017 - kukuk@suse.de - Update to version 1.15 - Rename option ptf to pkg - Add option to set salt grains ------------------------------------------------------------------- Fri Apr 21 11:24:54 CEST 2017 - kukuk@suse.de - Update to version 1.14 - Fix check of return values of commands in pipes [bsc#1034900] ------------------------------------------------------------------- Tue Mar 21 10:35:17 CET 2017 - kukuk@suse.de - Update to version 1.12 - minor bug fixes ------------------------------------------------------------------- Thu Mar 2 13:20:36 CET 2017 - kukuk@suse.de - Update to version 1.11 - use --no-allow-vendor-change with "zypper dup" - update manual page ------------------------------------------------------------------- Mon Feb 13 14:33:13 CET 2017 - kukuk@suse.de - Update to version 1.10 - implement and document rollback option ------------------------------------------------------------------- Tue Feb 7 08:04:50 CET 2017 - kukuk@suse.de - Update to version 1.9 - fix umounting of special filesystems and subvolumes - fix interactive installation of PTFs [bsc#1023026] - fix dependencies of systemd service ------------------------------------------------------------------- Wed Feb 1 17:51:32 CET 2017 - kukuk@suse.de - Add Requires for lsof and fuser ------------------------------------------------------------------- Wed Feb 1 14:50:37 CET 2017 - kukuk@suse.de - Update to version 1.8 - fix references in html docu - build kdump initrd if we build standard initrd, too ------------------------------------------------------------------- Mon Jan 30 11:20:26 CET 2017 - kukuk@suse.de - Update to version 1.7 - build html docu, too ------------------------------------------------------------------- Sun Jan 29 13:27:08 UTC 2017 - kukuk@suse.de - Update to version 1.6 - Add support for kdump [bsc#1018098] ------------------------------------------------------------------- Thu Jan 19 10:24:13 CET 2017 - kukuk@suse.de - Update to version 1.5 - Install PTFs in interactive mode - Sync state file between current and new snapshot ------------------------------------------------------------------- Tue Jan 17 11:30:19 CET 2017 - kukuk@suse.de - Update to version 1.4 - Fix wrong error messages - More debug output if umount fails - Try a second time if umount fails ------------------------------------------------------------------- Mon Dec 19 10:37:59 CET 2016 - kukuk@suse.de - Update to version 1.3 - Add initrd option ------------------------------------------------------------------- Thu Dec 15 10:38:58 CET 2016 - kukuk@suse.de - Do some spec file cleanup ------------------------------------------------------------------- Mon Dec 12 10:18:28 CET 2016 - kukuk@suse.de - Update to version 1.2 - suppport ro-subvolume with overlayfs ------------------------------------------------------------------- Tue Dec 6 10:24:19 CET 2016 - kukuk@suse.de - Update to version 1.1 - bug fix release - implement lock ------------------------------------------------------------------- Wed Nov 23 16:36:20 CET 2016 - kukuk@suse.de - Update to version 1.0 - implement and document PTF options ------------------------------------------------------------------- Mon Nov 21 13:35:50 CET 2016 - kukuk@suse.de - Update to version 0.99 - Support for rebootmgr - Write real manual page ------------------------------------------------------------------- Mon Nov 21 12:02:44 CET 2016 - kukuk@suse.de - Add empty directory /etc/systemd/system/transactional-update.timer.d/ so to make it easier to override transactional-update.timer entries. ------------------------------------------------------------------- Thu Nov 17 15:53:00 CET 2016 - kukuk@suse.de - Update to version 0.90 - Finish normal options - Implement support for PTFs ------------------------------------------------------------------- Sun Nov 6 12:52:50 UTC 2016 - kukuk@suse.com - Disable restart on update for post install scripts ------------------------------------------------------------------- Sun Nov 6 10:27:01 UTC 2016 - kukuk@suse.de - Implement activating the new snapshot as new root filesystem ------------------------------------------------------------------- Fri Nov 4 14:19:49 CET 2016 - kukuk@suse.de - Initial version