Skip to content

Commit cb9836e

Browse files
committed
(chocolatey#798) Add parameter to pin on install/upgrade
This adds a parameter to pin packages after install or upgrade. It re-uses the code in save_package_information to create the pin file.
1 parent f4ec951 commit cb9836e

File tree

4 files changed

+10
-0
lines changed

4 files changed

+10
-0
lines changed

src/chocolatey/infrastructure.app/commands/ChocolateyInstallCommand.cs

+4
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,10 @@ public virtual void configure_argument_parser(OptionSet optionSet, ChocolateyCon
179179
configuration.Features.UsePackageRepositoryOptimizations = false;
180180
}
181181
})
182+
.Add("pin|pinpackage|pin-package",
183+
"Pin Package - Add a pin to the package after install. Available in 1.1.0+",
184+
option => configuration.PinPackage = option != null
185+
)
182186
;
183187

184188
//todo: #770 package name can be a url / installertype

src/chocolatey/infrastructure.app/commands/ChocolateyUpgradeCommand.cs

+4
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,10 @@ public virtual void configure_argument_parser(OptionSet optionSet, ChocolateyCon
218218
configuration.Features.UsePackageRepositoryOptimizations = false;
219219
}
220220
})
221+
.Add("pin|pinpackage|pin-package",
222+
"Pin Package - Add a pin to the package after upgrade. Available in 1.1.0+",
223+
option => configuration.PinPackage = option != null
224+
)
221225
;
222226
}
223227

src/chocolatey/infrastructure.app/configuration/ChocolateyConfiguration.cs

+1
Original file line numberDiff line numberDiff line change
@@ -224,6 +224,7 @@ private void append_output(StringBuilder propertyValues, string append)
224224
public string DownloadChecksum64 { get; set; }
225225
public string DownloadChecksumType { get; set; }
226226
public string DownloadChecksumType64 { get; set; }
227+
public bool PinPackage { get; set; }
227228

228229
/// <summary>
229230
/// Configuration values provided by choco.

src/chocolatey/infrastructure.app/services/ChocolateyPackageService.cs

+1
Original file line numberDiff line numberDiff line change
@@ -408,6 +408,7 @@ public virtual void handle_package_result(PackageResult packageResult, Chocolate
408408
handle_extension_packages(config, packageResult);
409409
handle_template_packages(config, packageResult);
410410
pkgInfo.Arguments = capture_arguments(config, packageResult);
411+
pkgInfo.IsPinned = config.PinPackage;
411412
}
412413

413414
var toolsLocation = Environment.GetEnvironmentVariable(ApplicationParameters.Environment.ChocolateyToolsLocation);

0 commit comments

Comments
 (0)