Commit Graph
142 Commits
Author SHA1 Message Date
Kenneth Skovhede a61639c841 Fixed logic for release builder
If the user supplies --resume-from-upload, this now implies that the build folder should not be deleted
2025-10-08 10:12:54 +02:00
Kenneth Skovhede 1c266110e0 Upgrade to latest libicu in Docker, and switch to libssl3t64 2025-08-19 11:02:31 +02:00
Kenneth Skovhede 1efe727996 Fixed permission validation issue for deb package 2025-08-14 10:20:40 +02:00
Kenneth Skovhede 094be4a9d8 Improve dependency on libicu
Since .NET dynamically loads libicu, it is not prone to ABI breakage and can load virtually any version.

However, there is no `Depends: libicu*` option in Debian packages, so we need the explicit package version. This is prone to breaking as new Debian version bump the version number.

This PR changes the `Depends:` to `Recommends:` so `libicu` is installed if possible, but does not prevent installation.

For cases where the is no `libicu` on the system, there is now a `preinst` script which will warn if the library is missing, but not prevent installation.

The warning should only show in Docker images or similar slim contexts, as `libicu` is otherwise installed with the base system.
2025-08-12 15:34:14 +02:00
Kenneth Skovhede db8c0ad67a Include script file in Docker builds 2025-08-09 00:00:45 +02:00
Kenneth Skovhede 39ea5a2a46 Fixed using assembly name 2025-08-08 13:15:19 +02:00
Kenneth Skovhede 1aa496923e Fixed version checks 2025-08-08 12:49:18 +02:00
Kenneth Skovhede cff8073b64 Fix after renames in SharpAESCrypt 2025-08-07 23:17:18 +02:00
Kenneth Skovhede 42a3d98c72 Added more preload 2025-07-11 22:14:59 +02:00
Kenneth Skovhede c3d539b721 Preload S3 libraries 2025-07-11 20:33:00 +02:00
Kenneth Skovhede 6502017c57 Merge remote-tracking branch 'origin/master' into feature/vanara-vss-backup 2025-07-03 17:09:30 +02:00
Kenneth Skovhede 98deb8c576 Update support for VSS
This updates VSS to default use Vanara in favor of AlphaVSS which is no longer maintained.

The build for Vanara requires targeting `net8.0-windows7.0`, which will cause significant build overhead and complexity for cross platform builds.
To counter this, the setup is to have a single project, `Duplicati.Library.WindowsModules`, that is targeting `net8.0-windows7.0`.
The output from this project is then hoisted into the TrayIcon project for Windows builds so the files are available when debugging on Windows.
A top-level dummy executable project is added to ensure the project always builds.
The built modules are then loaded with reflection when requested.

With the use of Vanara there is now also support for using BackupRead to read files without making a VSS snapshot.
With BackupRead, it is possible to read locked files, but it still requires the SeBackupPrivilege as VSS does as well.

Unfortunately, the `vssapi.dll` file is not shipped for Arm64 on Windows, so even with Vanara this will not work, and only WMIC is supported on Arm64.
A workaround is to run Duplicati with x64 emulation if more advanced VSS features are needed (HyperV and MSSQL support).

This PR also updates options and filters out unsupported options for each operating system, so options that are not supported by the current OS are not reported and will give warnings if they are used, as opposed to just being ignored.

The release builder project has been updated to exclude the unused project, and purge unwanted outputs.
2025-07-01 16:32:19 +02:00
Carl Johnsen 09d79512bc Handled package / assembly version mismatch due to revision numbers 2025-06-23 13:31:05 +02:00
Carl Johnsen b729a1929a SQLite no longer has to be manually patched 2025-06-23 13:30:46 +02:00
Carl Johnsen e536c73be2 Removed whitespace 2025-06-23 13:30:28 +02:00
Carl Johnsen 46499033b8 Exchanged one of the known packages in the ReleaseBuilder to expect Microsoft.Data.Sqlite instead of the old SQLite package. 2025-06-23 10:28:25 +02:00
Carl Johnsen a3d2ffbcd0 Removed whitespace 2025-06-23 10:27:35 +02:00
Kenneth Skovhede 80d4b5a571 Added retry for reading key files 2025-05-30 07:56:45 +02:00
Kenneth Skovhede 8353ab2569 Added support for resuming builds when the date changes. 2025-05-30 07:49:24 +02:00
Kenneth Skovhede e166918e87 RPM not overwriting config
This PR updates the RPM spec file to mark the config files as such. This ensures that files will not be replaced during updates if they are modified.

Also updated the description slightly to not mention now-defunct services in the description. Also applied this to Debian packages.

The agent based installation has been updated slightly to better differentiate it from the the CLI/GUI package.

Fixed a bug that prevented the preset file from being installed for the agent.

This fixes #6099
2025-05-19 17:27:21 +02:00
Kenneth Skovhede a0ecc5e05d Added a database downgrade tool 2025-04-24 16:36:14 +02:00
Kenneth Skovhede 589bb2416c Fixed some bugs with the license filename change 2025-04-23 15:37:38 +02:00
Kenneth Skovhede 5511ed6a46 Added support for additional libicu versions 2025-04-22 13:08:36 +02:00
Kenneth Skovhede 430e4a8b1b Better Windows support 2025-04-15 00:05:20 +02:00
Kenneth Skovhede e30fbf5613 Renamed build-only to compile-only.
More flexible setup for compile-only runs.
2025-04-14 22:14:06 +02:00
Kenneth Skovhede df939a4334 Add tests to build releases
This adds a CI test for building releases so we know in advance if package versions are out-of-order.

This also sets the primary project for CLI to the Server as that covers more than the CLI project.
2025-04-14 21:56:27 +02:00
Kenneth Skovhede cbaccecd9d Removed unused file 2025-04-14 18:02:26 +02:00
Kenneth Skovhede 0fb8930329 Added elaborate version comparison to avoid shipping with wrong versions. 2025-04-14 17:37:51 +02:00
Kenneth Skovhede 966391e245 Update release build stability
With 2.1.0.114 we re-introduced the assembly version issue.

This commit fixes the check to actually validate the version numbers.
2025-04-14 15:42:19 +02:00
Kenneth Skovhede bd7a080d15 Reverted logic for building with temporary solutions as that can cause debug builds in the outputs and gives build warnings.
The logic is reverted to build each project into a build folder, and then copy the files into a shared common folder.

An additional check examines the log output and checks that there are no debug builds performed or used.
2025-04-13 23:32:39 +02:00
Kenneth Skovhede cf47b77d7a Manually clean source folders prior to build 2025-04-01 13:25:50 +02:00
Kenneth Skovhede b1c8250a27 Force restore prior to analysis to ensure results are correct 2025-04-01 13:25:03 +02:00
Kenneth Skovhede b658ad30a4 Write sln to temp file first 2025-04-01 12:56:23 +02:00
Kenneth Skovhede 0000fcc1ff Improved error messages by bundling multiple errors into one message. 2025-04-01 12:55:48 +02:00
Kenneth Skovhede b3ba14cfb5 Improved validation by checking the nuget package versions against the actual binary versions in the output folder.
Added check for executables to avoid shipping with missing executables.
2025-04-01 11:36:27 +02:00
Kenneth Skovhede 0f1d20530d Change builds to run in a single go, instead of patching folders.
This should prevent the wrong versions being picked up due to partial builds.
2025-04-01 11:35:09 +02:00
Kenneth Skovhede 0be27f8df4 Added additional checks 2025-03-28 13:41:49 +01:00
Kenneth Skovhede 6dc542f1fa Probe for additional file 2025-03-17 14:21:16 +01:00
Kenneth Skovhede a15dd4f2e0 Safeguards for release compile
This adds additional checks for the compile phase to avoid missing files in the released builds.

The build is now done into isolated folders, and then copied into the shared target folder to avoid issues with the compiler replacing or removing files.
2025-03-14 15:11:38 +01:00
Kenneth SkovhedeandGitHub e614b08bb3 Merge pull request #5955 from duplicati/feature/alternate-source-provider
Alternate source provider
2025-02-28 10:07:53 +01:00
Kenneth Skovhede 1c38061050 Added support for authenticode signing with jsign and Yubikey / PIV. 2025-02-26 11:58:48 +01:00
Kenneth Skovhede e1ae9dd9b4 Added MacOS signing verification 2025-02-25 21:54:47 +01:00
Kenneth Skovhede 616d8b75a7 Simplified MacOS code signing 2025-02-25 16:43:28 +01:00
Kenneth Skovhede 66aa3cd9d6 Added support for profiles when building for different channels.
Changed the default config name to have a `duplicati` prefix.
2025-02-25 15:07:17 +01:00
Kenneth Skovhede 5a4fcaa6d7 Added tool to work with remote sources 2025-02-21 11:51:45 +01:00
Kenneth Skovhede 0260a061bb Made the synctool an executable 2025-02-10 21:37:52 +01:00
Kenneth Skovhede 91d0f08cb2 Added option to propagate releases.
When building a release, it is now possible to also offer that release in "lower" channels, meaning the stable release will show as an update to instances running beta or experimental.
2025-02-06 22:54:30 +01:00
Kenneth Skovhede 23d304c736 Fixed not creating releases on master when building from a branch 2025-02-01 13:59:29 +01:00
Kenneth SkovhedeandGitHub 6de9378b4d Merge pull request #5869 from duplicati/feature/more-wix-exe
Better `wix.exe` support
2025-01-29 22:45:23 +01:00
Stavros Kois 8b37599c39 add docker tag $version-$channel
Signed-off-by: Stavros Kois <s.kois@outlook.com>
2025-01-29 20:38:50 +02:00