Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added BootstrapperOutputDir to config #3733

Merged
merged 4 commits into from
Nov 25, 2019

Conversation

JohnyWS
Copy link
Contributor

@JohnyWS JohnyWS commented Nov 24, 2019

Attempt at fixing the AV related performance issue mentioned in #3661 .

This is done by allowing OutputDir to be set in AppSettings as well, so it can be included as a permanent setting for a repository.

Since magic mode recommends using paket.exe.config for AppSettings, I've renamed the setting to BootstrapperOutputDir in AppSettings, so it is clear that the output dir relates to the Bootstrapper only, and keeps some naming overlap from the same option provided to command line already.

I've also added testing and minor doc updates.

Fixes #3661

@JohnyWS
Copy link
Contributor Author

JohnyWS commented Nov 25, 2019

Hmm, I've run all the failing tests locally, without error. Can anyone see why the buildenvironment behaves differently? ( @matthid , @forki ? )

@JohnyWS
Copy link
Contributor Author

JohnyWS commented Nov 25, 2019

Nvm, figured it out. Not used to unix filesystem.. :)

* `Prerelease`: Same as `prerelease` option.
* `PaketVersion`: Same as `<version>` option.
* `BootstrapperOuputDir`: Same as `--output-dir=` option.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo. missing t

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

@forki forki requested a review from matthid November 25, 2019 08:13
Copy link
Member

@matthid matthid left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it is advisable to recommend or to do this as generally this will be a lot slower due to multiple downloads. And will take a lot more storage. But if people want to do it this way ;)


**IMPORTANT PERFOMANCE NOTE:**

If you have aggresive Anti Virus monitoring, but have your development folder
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aggressive?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where it scans activity of processes in a non-excluded directory. Performance really suffers then if loads of files are created (which paket does a lot :) )

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But yeah, I agree, it could be worded differently, or even left out.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

was taking about the typo ;)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I hope the updated wording is better - as well as having fewer typos... ;)

@forki
Copy link
Member

forki commented Nov 25, 2019

I think the advice should be that you configure a place that you can exclude from the antivirus check

@matthid
Copy link
Member

matthid commented Nov 25, 2019

Sure, but why not exclude something in the temporary directory?

@forki
Copy link
Member

forki commented Nov 25, 2019

I dunno. but I assume a gazillion of programs want to write there. So using a folder that only paket's config knows might be safer!?

@matthid
Copy link
Member

matthid commented Nov 25, 2019

Just make a directory within the temp directory, this one can be excluded and is paket only?

@JohnyWS
Copy link
Contributor Author

JohnyWS commented Nov 25, 2019

Well the issue then becomes a matter of rights, and targeted attempts. This will then be known vulnerability, and having write access to temp, can then circumvent AV by just writing to that folder. When it is configureable, it is not as simple to use it for direct attacks. :) - but yeah, would be a lot simpler to just exclude that folder, but not always as easy in enterprisy setups.. ;)

@forki
Copy link
Member

forki commented Nov 25, 2019

I think with the docs and typo fixes we can take it.

@forki forki merged commit c74cd5d into fsprojects:master Nov 25, 2019
@forki
Copy link
Member

forki commented Nov 25, 2019

new bootstrapper is released. thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

dotnet restore <solution name> takes several minutes to finish
3 participants