diff --git a/DebUOS/Packaging.DebUOS.NuGet/Build/package.targets b/DebUOS/Packaging.DebUOS.NuGet/Build/package.targets index 6d68d8a..267f7f5 100644 --- a/DebUOS/Packaging.DebUOS.NuGet/Build/package.targets +++ b/DebUOS/Packaging.DebUOS.NuGet/Build/package.targets @@ -154,6 +154,11 @@ + + + + + diff --git a/DebUOS/Packaging.DebUOS/Contexts/Configurations/DebUOSConfiguration.cs b/DebUOS/Packaging.DebUOS/Contexts/Configurations/DebUOSConfiguration.cs index 20c574f..2ecd6a7 100644 --- a/DebUOS/Packaging.DebUOS/Contexts/Configurations/DebUOSConfiguration.cs +++ b/DebUOS/Packaging.DebUOS/Contexts/Configurations/DebUOSConfiguration.cs @@ -316,6 +316,15 @@ public string? DebControlDepends set => SetValue(value); get => GetString(); } + + /// + /// 此字段若配置了,则会在 control 文件中写入 X-Package-System 属性,值为此字段的值 + /// + public string? DebControlXPackageSystem + { + set => SetValue(value); + get => GetString(); + } /// /// 应用名,英文名。将作为 opt\apps\${AppId}\entries\applications\${AppId}.desktop 和 opt\apps\${AppId}\info 的 Name 属性的值,不写默认和 AssemblyName 属性相同 diff --git a/DebUOS/Packaging.DebUOS/DebUOSPackageFileStructCreator.cs b/DebUOS/Packaging.DebUOS/DebUOSPackageFileStructCreator.cs index 183a898..ef0cc4c 100644 --- a/DebUOS/Packaging.DebUOS/DebUOSPackageFileStructCreator.cs +++ b/DebUOS/Packaging.DebUOS/DebUOSPackageFileStructCreator.cs @@ -369,6 +369,11 @@ public void CreatePackagingFolder(DebUOSConfiguration configuration) stringBuilder.Append($"Depends: {configuration.DebControlDepends}\n"); } + if (!string.IsNullOrEmpty(configuration.DebControlXPackageSystem)) + { + stringBuilder.Append($"X-Package-System: {configuration.DebControlXPackageSystem}\n"); + } + File.WriteAllText(controlFile, stringBuilder.ToString(), encoding); }