-
Notifications
You must be signed in to change notification settings - Fork 1.9k
UTF 16 and UTF 32 fixes #9946
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
UTF 16 and UTF 32 fixes #9946
Conversation
It was discussed in #4307 - scanning each file three or five times during installation may not be optimal. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is in conda build where this should be, for the most part addressed. Not conda. All conda sounds care about it overwriting strings of 255 bytes with new ones. The values are all conda builds responsibility to calculate.
@mingwandroid I don't quite get your comment, although I only vaguely remember how conda works. |
That's not what I'm talking about here. We can replace 255 bytes. What those bytes contain is irrelevant. |
@mingwandroid thanks for chiming in. Finding that PR from 2017 would have saved me lots of frustration. Not sure why I didn't click the link on the issue. I don't think there is a way around scanning files multiple times unless conda build pre-scans them for us telling us which files are encoded in which way (binary files may have multiple encodings) I'm not really a regex master, so if you could help, that would be appreciated it, but the operating system will cache the files, so it shouldn't be a big deal to scan them 5 times. And for conda to be cross platform, you might need all 5 encodings, not just the 3 from your platform. |
Ok, using your tip above to combine a few different regex into one. Lets see if this works. Hopefully this strategy can be accepted in. |
Sorry, testing this locally is a little annoying, hopefully it is OK if i test on CIs, sorry for the notification noise. |
@wojdyr I don't know if this is accetable. I had to change the tests. But seeing as it is only an internal function, I also changed the the one internal call accordingly as well. Let me know if that is ok. |
I don't understand why there is some branchign logic between text files and non text files if somebody could help explain that then maybe we can work together to get rid of the for loop. |
Kind ping to move this forward somehow. It would be greatly appreciated to have this included as a core conda component. I don't particularly understand why The large binary files are only scanned once in this implementation. |
Hi @hmaarrfk, sorry, we've all been especially busy lately, though I've had to take a bit of a break. Can you add a test, involving a package which contains files containing each of the prefix encoded in each of the, err, encodings as a separate PR to conda-build that's marked as xfail, I am happy to work with you on a solution for this, but I still don't think we're on the right path yet. I still see an un'for'tunate loop here: https://github.com/conda/conda/pull/9946/files#diff-827c3c3f848db24eacfc18b94aead92aR72 Although nothing to be especially proud about, this recipe might be a useful starting point: Cheers! |
FWIW, I believe the design is wrong. These replacement locations should be pre-computed in their entirety by conda-build and conda should dumbly replace X with Y as instructed by conda-build via paths.json. Your current implementation will not, for example, work for a file that contains only one instance of the prefix, encoded in some exotic encoding that conda-build didn't detect in the first place, unless I am mistaken? |
Thanks for chiming in @mingwandroid
Right. I don't personally understand the decision to have the original if statement myself.
This might very well be the right approach. I totally don't have a full picture of conda-build + conda. I think i should be able to create a pretty simple conda recipe for encoding in common_encodings:
with open(f'file_{encoding}.data', 'wb') as f:
f.write(os.environ['PREFIX'].encode(encoding)) should do the trick. |
67b1754
to
51c3ac9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @travishathaway for updating the PR.
@hmaarrfk Do you happen to remember if this comment was fully handled since the patch in conda-forge was applied?
to be honest, i always thought that this PR didn't live up to mingwandroid's standards. I think I took the approach of reading through the full package, multiple times. I think in conda-forge, we do this at install time..... not at build time (an other big comment of his) I will take no offense if all you take away from this PR are the tests, or the idea that this should be addressed. |
5f0712e
to
fbef6fc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. The code will look for any of POPULAR_ENCODINGS-encoded placeholders in binaries.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@travishathaway explained this change to me and it LGTM! 👍
* Add `win-arm64` as a recognized platform (#11778) * Rename `conda.recipe` to `recipe` (#11774) * Rename conda.recipe to recipe * Add news * Update canary-release action version (#11799) * Updated conda CLI help to be better for users. (#11708) Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Bianca Henderson <bhenderson@anaconda.com> * 🔄 Synced file(s) with conda/infra (#11827) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Fix pypy win (#11734) * [pre-commit.ci] pre-commit autoupdate (#11833) updates: - [github.com/akaihola/darker: 1.5.0 → 1.5.1](akaihola/darker@1.5.0...1.5.1) - [github.com/PyCQA/pylint: v2.15.0 → v2.15.2](pylint-dev/pylint@v2.15.0...v2.15.2) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Fixes an issue that we are having with carnary builds (#11803) * Fixes an issue that we are having with carnary builds See this issue for more information: conda/conda-build#4572 * undoing upates to cytoolz * Update CONTRIBUTING.md (#11816) Change all references to `triaging` to `issue sorting` per conda/infrastructure#575 * Release 22.9.0 (#11844) * Updated .authors.yml * Updated .mailmap * Updated news * Updated authorship for 22.9.0 * Updated CHANGELOG for 22.9.0 * Added first contributions * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Add special announcement to changelog. * Remove emoji to not freak out rever. Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Expose --mach and --arch to devenv script (#11851) * [pre-commit.ci] pre-commit autoupdate (#11859) updates: - [github.com/PyCQA/pylint: v2.15.2 → v2.15.3](pylint-dev/pylint@v2.15.2...v2.15.3) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * 🔄 Synced file(s) with conda/infra (#11853) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Require `ruamel.yaml` (#11868) * Update requirements.txt (#11842) Updating the flask to address multiple CVEs including ones listed in #11831 * Grammatical correction in docs (#11870) * Removed allow_other_channels from conda docs. (#11866) * Use maintained `ruamel.yaml` (#11837) * Try using maintained ruamel.yaml The conda specific fork is maintained as a conda package only in https://github.com/conda-forge/ruamel_yaml-feedstock/tree/master/recipe. My understanding of what's being patched there seems to indicate it's just the __init__.py file. I'm hoping just a rename of the import will be enough, or at least surface what real problems exist. Ref #10691 * Only use ruamel.yaml * Use updated ruamel.yaml API stringio * Cache yaml parsers * TEMP CI CHANGE, REMOVE BEFORE MERGE * Add ruamel_yaml fallback * Add news * Undo CI fixes * Update news Co-authored-by: YuviPanda <yuvipanda@gmail.com> Co-authored-by: Orion Poplawski <orion@nwra.com> * document conda-build: pkg_format: 2 (#11881) * document conda-build: pkg_format: 2 * Apply suggestions from code review Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com> * Extract script building into helper functions for `conda init --dev` (#11862) * 🔄 Synced file(s) with conda/infra (#11896) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Refactor conda init shells as argparse choices (#11897) * remove encoding pragma (not needed in Python 3) (#11880) * remove encoding pragma (not needed in Python 3) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Fail with a readable error message if PackageCacheRecords are missing (#11591) * Fail with a readable warning if PackageCacheRecords are missing * Minor fixes to error message. This also doesn’t use cont.io for the tests. * More test fixes and minor code cleanup. * Update news/11591-readable-error-message-if-packagecacherecords-missing Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Ken Odegard <kodegard@anaconda.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Avoid a specific case where `conda env update` hangs. (#11818) When using an environment.yml that asks pip to clone a git repo and that path exists, pip will ask for user input. As we are not in a context to provide such, tell pip what to do so it doesn't hang on waiting for user input. * Download packages in parallel (#11841) * format package_cache_data.py with black * download packages in threads * improve test coverage * Apply suggestions from code review Co-authored-by: Jannis Leidel <jannis@leidel.info> * Removed ref left behind from removing allow_other_channels docs. (#11908) * Enable one single test for linux-{aarch64, ppc64le} (#11911) Run one single fast test per docker+qemu emulated linux platform to test that test execution is possible there (container+tools+dependencies work). Can be changed / extended to run specific tests in case there are platform related things to test. Running more tests is time consuming due to emulation (factor 2-10x slower). * Fixed broken URL in conda docs (#11902) * Replaced bad link. * Updated release note. * Update xprocess minio pattern (#11924) * Updated conda cheatsheet for 4.14.0 release. (#11768) * Fix for conda update and install issue related to notices (#11852) Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Add pyupgrade to pre-commit (#11909) * [pre-commit.ci] auto fixes from pre-commit.com hooks (#11928) for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Introduce git-blame-ignore-revs file, add pyupgrade commit to it (#11929) * Update ci-skip workflow. (#11935) This was forgotten when the 3.10 changes were made. * Check for conda before calling shell hook (#11374) * Check conda PS1 hook before calling it * Check for hook script in fish/xonsh/bash * Adapt test_init_sh_user_windows * Removing an outdated piece of documentation (#11943) * Fix bullet point list formatting (#11945) * Change `metadata_signature_status`'s default value (#11944) * Change metadata_signature_status's default value * Add news * Fix CI workflows to always run (#11941) * Get rid of the docs check. * Use all-greens action to use just one job for branch protection. * add LD_PRELOAD (#11926) Co-authored-by: Mahe Iram Khan <maheiramkhan@Mahes-MacBook-Pro.fritz.box> * restore CondaMultiError from package downloads (#11959) * restore CondaMultiError from package downloads * [pre-commit.ci] pre-commit autoupdate (#11947) updates: - [github.com/asottile/pyupgrade: v2.38.2 → v3.0.0](asottile/pyupgrade@v2.38.2...v3.0.0) - [github.com/PyCQA/pylint: v2.15.3 → v2.15.4](pylint-dev/pylint@v2.15.3...v2.15.4) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Update a few actions to reduce warnings. (#11963) * Changed mentioned conda version (#11810) * Check for actions updates every week. (#11962) * Bump conda/actions from 22.2.1 to 22.9.0 (#11965) Bumps [conda/actions](https://github.com/conda/actions) from 22.2.1 to 22.9.0. - [Release notes](https://github.com/conda/actions/releases) - [Commits](conda/actions@v22.2.1...v22.9.0) --- updated-dependencies: - dependency-name: conda/actions dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Remove toolz accumulate (#11879) * substitute for toolz.groupby (#11913) * substitute for toolz.groupby * Remove custom `argparse` aliases (#11747) * Remove custom aliasing logic * Move argument inline into `add_subparsers` This was added in Python 3.7. * 🔄 Synced file(s) with conda/infra (#11969) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * UTF 16 and UTF 32 fixes (#9946) * Use a loop to ensure that prefix is replaced even in utf-16 cases * Specify little endian and big endian * Fixup the binary replacement * keep backward portability * Add some tests * Make encoding a string in tests * Just use a loop * Match from beginning of prefix * Add a comment as to why we specify -le and -be * Attempt minimal changes for binary replacement using a single regex * Fixup regex * removing unnecessary * reverting previous state of some test * fixing more issues with tests * updates to enhance code readability * updating type hint to use Enum Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com> * Replace "experimental solver" with just "solver" (#11889) * Replace "experimental solver" with just solver * mock is part of unittest * add newline for clearer error message * one more instance * pre-commit fixes * PendingDeprecationWarning preferred at this stage * argparse.Action base class implements __call__ abstractly - do not super()! * actually, better inherit from _StoreAction * satisfy pre-commit * better * that tiiiny space * add news * Update issue template. * Remove trailing whitespace. Co-authored-by: Jannis Leidel <jannis@leidel.info> * Add Plugin Mechanism (#11435) Initial plugin framework implementation. Adds registration decorator `@conda.plugins.register` and hook `conda_subcommands` this allows simple subcommand registration: ``` import conda.plugins @conda.plugins.register def conda_subcommands(): yield conda.plugins.CondaSubcommand( name="my-subcommand", summary="...", action=<function>, ) ``` Co-authored-by: Filipe Lains <lains@riseup.net> Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com> Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com> Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Merging latest `main` changes into `feature/plugins` (#11940) * Add `win-arm64` as a recognized platform (#11778) * Rename `conda.recipe` to `recipe` (#11774) * Rename conda.recipe to recipe * Add news * Update canary-release action version (#11799) * Updated conda CLI help to be better for users. (#11708) Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Bianca Henderson <bhenderson@anaconda.com> * 🔄 Synced file(s) with conda/infra (#11827) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Fix pypy win (#11734) * [pre-commit.ci] pre-commit autoupdate (#11833) updates: - [github.com/akaihola/darker: 1.5.0 → 1.5.1](akaihola/darker@1.5.0...1.5.1) - [github.com/PyCQA/pylint: v2.15.0 → v2.15.2](pylint-dev/pylint@v2.15.0...v2.15.2) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Fixes an issue that we are having with carnary builds (#11803) * Fixes an issue that we are having with carnary builds See this issue for more information: conda/conda-build#4572 * undoing upates to cytoolz * Update CONTRIBUTING.md (#11816) Change all references to `triaging` to `issue sorting` per conda/infrastructure#575 * Release 22.9.0 (#11844) * Updated .authors.yml * Updated .mailmap * Updated news * Updated authorship for 22.9.0 * Updated CHANGELOG for 22.9.0 * Added first contributions * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Add special announcement to changelog. * Remove emoji to not freak out rever. Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Expose --mach and --arch to devenv script (#11851) * [pre-commit.ci] pre-commit autoupdate (#11859) updates: - [github.com/PyCQA/pylint: v2.15.2 → v2.15.3](pylint-dev/pylint@v2.15.2...v2.15.3) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * 🔄 Synced file(s) with conda/infra (#11853) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Require `ruamel.yaml` (#11868) * Update requirements.txt (#11842) Updating the flask to address multiple CVEs including ones listed in #11831 * Grammatical correction in docs (#11870) * Removed allow_other_channels from conda docs. (#11866) * Use maintained `ruamel.yaml` (#11837) * Try using maintained ruamel.yaml The conda specific fork is maintained as a conda package only in https://github.com/conda-forge/ruamel_yaml-feedstock/tree/master/recipe. My understanding of what's being patched there seems to indicate it's just the __init__.py file. I'm hoping just a rename of the import will be enough, or at least surface what real problems exist. Ref #10691 * Only use ruamel.yaml * Use updated ruamel.yaml API stringio * Cache yaml parsers * TEMP CI CHANGE, REMOVE BEFORE MERGE * Add ruamel_yaml fallback * Add news * Undo CI fixes * Update news Co-authored-by: YuviPanda <yuvipanda@gmail.com> Co-authored-by: Orion Poplawski <orion@nwra.com> * document conda-build: pkg_format: 2 (#11881) * document conda-build: pkg_format: 2 * Apply suggestions from code review Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com> * Extract script building into helper functions for `conda init --dev` (#11862) * 🔄 Synced file(s) with conda/infra (#11896) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Refactor conda init shells as argparse choices (#11897) * remove encoding pragma (not needed in Python 3) (#11880) * remove encoding pragma (not needed in Python 3) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Fail with a readable error message if PackageCacheRecords are missing (#11591) * Fail with a readable warning if PackageCacheRecords are missing * Minor fixes to error message. This also doesn’t use cont.io for the tests. * More test fixes and minor code cleanup. * Update news/11591-readable-error-message-if-packagecacherecords-missing Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Ken Odegard <kodegard@anaconda.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Avoid a specific case where `conda env update` hangs. (#11818) When using an environment.yml that asks pip to clone a git repo and that path exists, pip will ask for user input. As we are not in a context to provide such, tell pip what to do so it doesn't hang on waiting for user input. * Download packages in parallel (#11841) * format package_cache_data.py with black * download packages in threads * improve test coverage * Apply suggestions from code review Co-authored-by: Jannis Leidel <jannis@leidel.info> * Removed ref left behind from removing allow_other_channels docs. (#11908) * Enable one single test for linux-{aarch64, ppc64le} (#11911) Run one single fast test per docker+qemu emulated linux platform to test that test execution is possible there (container+tools+dependencies work). Can be changed / extended to run specific tests in case there are platform related things to test. Running more tests is time consuming due to emulation (factor 2-10x slower). * Fixed broken URL in conda docs (#11902) * Replaced bad link. * Updated release note. * Update xprocess minio pattern (#11924) * Updated conda cheatsheet for 4.14.0 release. (#11768) * Fix for conda update and install issue related to notices (#11852) Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Add pyupgrade to pre-commit (#11909) * [pre-commit.ci] auto fixes from pre-commit.com hooks (#11928) for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Introduce git-blame-ignore-revs file, add pyupgrade commit to it (#11929) * Update ci-skip workflow. (#11935) This was forgotten when the 3.10 changes were made. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: Cheng H. Lee <chenghlee@users.noreply.github.com> Co-authored-by: Ken Odegard <kodegard@anaconda.com> Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com> Co-authored-by: Bianca Henderson <bhenderson@anaconda.com> Co-authored-by: Conda Bot <18747875+conda-bot@users.noreply.github.com> Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> Co-authored-by: Isuru Fernando <isuruf@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com> Co-authored-by: Shaun Walbridge <46331011+scdub@users.noreply.github.com> Co-authored-by: Nikhil Raverkar <raverkar.nikhil@gmail.com> Co-authored-by: Satyam Vyas <vyas.satyam.04@gmail.com> Co-authored-by: YuviPanda <yuvipanda@gmail.com> Co-authored-by: Orion Poplawski <orion@nwra.com> Co-authored-by: Daniel Holth <dholth@anaconda.com> Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Co-authored-by: Samson Yeung <samson_gh@onepatchdown.net> Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com> * remove unused import; silence typing error (#11951) * Update feature/plugins branch with current main. (#11961) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Cheng H. Lee <chenghlee@users.noreply.github.com> Co-authored-by: Ken Odegard <kodegard@anaconda.com> Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com> Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Bianca Henderson <bhenderson@anaconda.com> Co-authored-by: Conda Bot <18747875+conda-bot@users.noreply.github.com> Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> Co-authored-by: Isuru Fernando <isuruf@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Shaun Walbridge <46331011+scdub@users.noreply.github.com> Co-authored-by: Nikhil Raverkar <raverkar.nikhil@gmail.com> Co-authored-by: Satyam Vyas <vyas.satyam.04@gmail.com> Co-authored-by: YuviPanda <yuvipanda@gmail.com> Co-authored-by: Orion Poplawski <orion@nwra.com> Co-authored-by: Daniel Holth <dholth@anaconda.com> Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Co-authored-by: Samson Yeung <samson_gh@onepatchdown.net> Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com> Co-authored-by: wulmer <wulmer@users.noreply.github.com> Co-authored-by: Mahe Iram Khan <65779580+ForgottenProgramme@users.noreply.github.com> Co-authored-by: Mahe Iram Khan <maheiramkhan@Mahes-MacBook-Pro.fritz.box> Co-authored-by: Arqam Hussain <70997750+arq0017@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mark Harfouche <mark.harfouche@gmail.com> Co-authored-by: Jaime Rodríguez-Guerra <jaimergp@users.noreply.github.com> Co-authored-by: Bianca Henderson <beeankha@gmail.com> Co-authored-by: Filipe Lains <lains@riseup.net>
* Add `win-arm64` as a recognized platform (conda#11778) * Rename `conda.recipe` to `recipe` (conda#11774) * Rename conda.recipe to recipe * Add news * Update canary-release action version (conda#11799) * Updated conda CLI help to be better for users. (conda#11708) Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Bianca Henderson <bhenderson@anaconda.com> * 🔄 Synced file(s) with conda/infra (conda#11827) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Fix pypy win (conda#11734) * [pre-commit.ci] pre-commit autoupdate (conda#11833) updates: - [github.com/akaihola/darker: 1.5.0 → 1.5.1](akaihola/darker@1.5.0...1.5.1) - [github.com/PyCQA/pylint: v2.15.0 → v2.15.2](pylint-dev/pylint@v2.15.0...v2.15.2) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Fixes an issue that we are having with carnary builds (conda#11803) * Fixes an issue that we are having with carnary builds See this issue for more information: conda/conda-build#4572 * undoing upates to cytoolz * Update CONTRIBUTING.md (conda#11816) Change all references to `triaging` to `issue sorting` per conda/infrastructure#575 * Release 22.9.0 (conda#11844) * Updated .authors.yml * Updated .mailmap * Updated news * Updated authorship for 22.9.0 * Updated CHANGELOG for 22.9.0 * Added first contributions * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Add special announcement to changelog. * Remove emoji to not freak out rever. Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Expose --mach and --arch to devenv script (conda#11851) * [pre-commit.ci] pre-commit autoupdate (conda#11859) updates: - [github.com/PyCQA/pylint: v2.15.2 → v2.15.3](pylint-dev/pylint@v2.15.2...v2.15.3) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * 🔄 Synced file(s) with conda/infra (conda#11853) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Require `ruamel.yaml` (conda#11868) * Update requirements.txt (conda#11842) Updating the flask to address multiple CVEs including ones listed in conda#11831 * Grammatical correction in docs (conda#11870) * Removed allow_other_channels from conda docs. (conda#11866) * Use maintained `ruamel.yaml` (conda#11837) * Try using maintained ruamel.yaml The conda specific fork is maintained as a conda package only in https://github.com/conda-forge/ruamel_yaml-feedstock/tree/master/recipe. My understanding of what's being patched there seems to indicate it's just the __init__.py file. I'm hoping just a rename of the import will be enough, or at least surface what real problems exist. Ref conda#10691 * Only use ruamel.yaml * Use updated ruamel.yaml API stringio * Cache yaml parsers * TEMP CI CHANGE, REMOVE BEFORE MERGE * Add ruamel_yaml fallback * Add news * Undo CI fixes * Update news Co-authored-by: YuviPanda <yuvipanda@gmail.com> Co-authored-by: Orion Poplawski <orion@nwra.com> * document conda-build: pkg_format: 2 (conda#11881) * document conda-build: pkg_format: 2 * Apply suggestions from code review Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com> * Extract script building into helper functions for `conda init --dev` (conda#11862) * 🔄 Synced file(s) with conda/infra (conda#11896) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Refactor conda init shells as argparse choices (conda#11897) * remove encoding pragma (not needed in Python 3) (conda#11880) * remove encoding pragma (not needed in Python 3) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Fail with a readable error message if PackageCacheRecords are missing (conda#11591) * Fail with a readable warning if PackageCacheRecords are missing * Minor fixes to error message. This also doesn’t use cont.io for the tests. * More test fixes and minor code cleanup. * Update news/11591-readable-error-message-if-packagecacherecords-missing Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Ken Odegard <kodegard@anaconda.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Avoid a specific case where `conda env update` hangs. (conda#11818) When using an environment.yml that asks pip to clone a git repo and that path exists, pip will ask for user input. As we are not in a context to provide such, tell pip what to do so it doesn't hang on waiting for user input. * Download packages in parallel (conda#11841) * format package_cache_data.py with black * download packages in threads * improve test coverage * Apply suggestions from code review Co-authored-by: Jannis Leidel <jannis@leidel.info> * Removed ref left behind from removing allow_other_channels docs. (conda#11908) * Enable one single test for linux-{aarch64, ppc64le} (conda#11911) Run one single fast test per docker+qemu emulated linux platform to test that test execution is possible there (container+tools+dependencies work). Can be changed / extended to run specific tests in case there are platform related things to test. Running more tests is time consuming due to emulation (factor 2-10x slower). * Fixed broken URL in conda docs (conda#11902) * Replaced bad link. * Updated release note. * Update xprocess minio pattern (conda#11924) * Updated conda cheatsheet for 4.14.0 release. (conda#11768) * Fix for conda update and install issue related to notices (conda#11852) Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Add pyupgrade to pre-commit (conda#11909) * [pre-commit.ci] auto fixes from pre-commit.com hooks (conda#11928) for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Introduce git-blame-ignore-revs file, add pyupgrade commit to it (conda#11929) * Update ci-skip workflow. (conda#11935) This was forgotten when the 3.10 changes were made. * Check for conda before calling shell hook (conda#11374) * Check conda PS1 hook before calling it * Check for hook script in fish/xonsh/bash * Adapt test_init_sh_user_windows * Removing an outdated piece of documentation (conda#11943) * Fix bullet point list formatting (conda#11945) * Change `metadata_signature_status`'s default value (conda#11944) * Change metadata_signature_status's default value * Add news * Fix CI workflows to always run (conda#11941) * Get rid of the docs check. * Use all-greens action to use just one job for branch protection. * add LD_PRELOAD (conda#11926) Co-authored-by: Mahe Iram Khan <maheiramkhan@Mahes-MacBook-Pro.fritz.box> * restore CondaMultiError from package downloads (conda#11959) * restore CondaMultiError from package downloads * [pre-commit.ci] pre-commit autoupdate (conda#11947) updates: - [github.com/asottile/pyupgrade: v2.38.2 → v3.0.0](asottile/pyupgrade@v2.38.2...v3.0.0) - [github.com/PyCQA/pylint: v2.15.3 → v2.15.4](pylint-dev/pylint@v2.15.3...v2.15.4) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Update a few actions to reduce warnings. (conda#11963) * Changed mentioned conda version (conda#11810) * Check for actions updates every week. (conda#11962) * Bump conda/actions from 22.2.1 to 22.9.0 (conda#11965) Bumps [conda/actions](https://github.com/conda/actions) from 22.2.1 to 22.9.0. - [Release notes](https://github.com/conda/actions/releases) - [Commits](conda/actions@v22.2.1...v22.9.0) --- updated-dependencies: - dependency-name: conda/actions dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Remove toolz accumulate (conda#11879) * substitute for toolz.groupby (conda#11913) * substitute for toolz.groupby * Remove custom `argparse` aliases (conda#11747) * Remove custom aliasing logic * Move argument inline into `add_subparsers` This was added in Python 3.7. * 🔄 Synced file(s) with conda/infra (conda#11969) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * UTF 16 and UTF 32 fixes (conda#9946) * Use a loop to ensure that prefix is replaced even in utf-16 cases * Specify little endian and big endian * Fixup the binary replacement * keep backward portability * Add some tests * Make encoding a string in tests * Just use a loop * Match from beginning of prefix * Add a comment as to why we specify -le and -be * Attempt minimal changes for binary replacement using a single regex * Fixup regex * removing unnecessary * reverting previous state of some test * fixing more issues with tests * updates to enhance code readability * updating type hint to use Enum Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com> * Replace "experimental solver" with just "solver" (conda#11889) * Replace "experimental solver" with just solver * mock is part of unittest * add newline for clearer error message * one more instance * pre-commit fixes * PendingDeprecationWarning preferred at this stage * argparse.Action base class implements __call__ abstractly - do not super()! * actually, better inherit from _StoreAction * satisfy pre-commit * better * that tiiiny space * add news * Update issue template. * Remove trailing whitespace. Co-authored-by: Jannis Leidel <jannis@leidel.info> * Add Plugin Mechanism (conda#11435) Initial plugin framework implementation. Adds registration decorator `@conda.plugins.register` and hook `conda_subcommands` this allows simple subcommand registration: ``` import conda.plugins @conda.plugins.register def conda_subcommands(): yield conda.plugins.CondaSubcommand( name="my-subcommand", summary="...", action=<function>, ) ``` Co-authored-by: Filipe Lains <lains@riseup.net> Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com> Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com> Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Merging latest `main` changes into `feature/plugins` (conda#11940) * Add `win-arm64` as a recognized platform (conda#11778) * Rename `conda.recipe` to `recipe` (conda#11774) * Rename conda.recipe to recipe * Add news * Update canary-release action version (conda#11799) * Updated conda CLI help to be better for users. (conda#11708) Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Bianca Henderson <bhenderson@anaconda.com> * 🔄 Synced file(s) with conda/infra (conda#11827) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Fix pypy win (conda#11734) * [pre-commit.ci] pre-commit autoupdate (conda#11833) updates: - [github.com/akaihola/darker: 1.5.0 → 1.5.1](akaihola/darker@1.5.0...1.5.1) - [github.com/PyCQA/pylint: v2.15.0 → v2.15.2](pylint-dev/pylint@v2.15.0...v2.15.2) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Fixes an issue that we are having with carnary builds (conda#11803) * Fixes an issue that we are having with carnary builds See this issue for more information: conda/conda-build#4572 * undoing upates to cytoolz * Update CONTRIBUTING.md (conda#11816) Change all references to `triaging` to `issue sorting` per conda/infrastructure#575 * Release 22.9.0 (conda#11844) * Updated .authors.yml * Updated .mailmap * Updated news * Updated authorship for 22.9.0 * Updated CHANGELOG for 22.9.0 * Added first contributions * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Add special announcement to changelog. * Remove emoji to not freak out rever. Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Expose --mach and --arch to devenv script (conda#11851) * [pre-commit.ci] pre-commit autoupdate (conda#11859) updates: - [github.com/PyCQA/pylint: v2.15.2 → v2.15.3](pylint-dev/pylint@v2.15.2...v2.15.3) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * 🔄 Synced file(s) with conda/infra (conda#11853) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Require `ruamel.yaml` (conda#11868) * Update requirements.txt (conda#11842) Updating the flask to address multiple CVEs including ones listed in conda#11831 * Grammatical correction in docs (conda#11870) * Removed allow_other_channels from conda docs. (conda#11866) * Use maintained `ruamel.yaml` (conda#11837) * Try using maintained ruamel.yaml The conda specific fork is maintained as a conda package only in https://github.com/conda-forge/ruamel_yaml-feedstock/tree/master/recipe. My understanding of what's being patched there seems to indicate it's just the __init__.py file. I'm hoping just a rename of the import will be enough, or at least surface what real problems exist. Ref conda#10691 * Only use ruamel.yaml * Use updated ruamel.yaml API stringio * Cache yaml parsers * TEMP CI CHANGE, REMOVE BEFORE MERGE * Add ruamel_yaml fallback * Add news * Undo CI fixes * Update news Co-authored-by: YuviPanda <yuvipanda@gmail.com> Co-authored-by: Orion Poplawski <orion@nwra.com> * document conda-build: pkg_format: 2 (conda#11881) * document conda-build: pkg_format: 2 * Apply suggestions from code review Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com> * Extract script building into helper functions for `conda init --dev` (conda#11862) * 🔄 Synced file(s) with conda/infra (conda#11896) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Refactor conda init shells as argparse choices (conda#11897) * remove encoding pragma (not needed in Python 3) (conda#11880) * remove encoding pragma (not needed in Python 3) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Fail with a readable error message if PackageCacheRecords are missing (conda#11591) * Fail with a readable warning if PackageCacheRecords are missing * Minor fixes to error message. This also doesn’t use cont.io for the tests. * More test fixes and minor code cleanup. * Update news/11591-readable-error-message-if-packagecacherecords-missing Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Ken Odegard <kodegard@anaconda.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Avoid a specific case where `conda env update` hangs. (conda#11818) When using an environment.yml that asks pip to clone a git repo and that path exists, pip will ask for user input. As we are not in a context to provide such, tell pip what to do so it doesn't hang on waiting for user input. * Download packages in parallel (conda#11841) * format package_cache_data.py with black * download packages in threads * improve test coverage * Apply suggestions from code review Co-authored-by: Jannis Leidel <jannis@leidel.info> * Removed ref left behind from removing allow_other_channels docs. (conda#11908) * Enable one single test for linux-{aarch64, ppc64le} (conda#11911) Run one single fast test per docker+qemu emulated linux platform to test that test execution is possible there (container+tools+dependencies work). Can be changed / extended to run specific tests in case there are platform related things to test. Running more tests is time consuming due to emulation (factor 2-10x slower). * Fixed broken URL in conda docs (conda#11902) * Replaced bad link. * Updated release note. * Update xprocess minio pattern (conda#11924) * Updated conda cheatsheet for 4.14.0 release. (conda#11768) * Fix for conda update and install issue related to notices (conda#11852) Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Add pyupgrade to pre-commit (conda#11909) * [pre-commit.ci] auto fixes from pre-commit.com hooks (conda#11928) for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Introduce git-blame-ignore-revs file, add pyupgrade commit to it (conda#11929) * Update ci-skip workflow. (conda#11935) This was forgotten when the 3.10 changes were made. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: Cheng H. Lee <chenghlee@users.noreply.github.com> Co-authored-by: Ken Odegard <kodegard@anaconda.com> Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com> Co-authored-by: Bianca Henderson <bhenderson@anaconda.com> Co-authored-by: Conda Bot <18747875+conda-bot@users.noreply.github.com> Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> Co-authored-by: Isuru Fernando <isuruf@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com> Co-authored-by: Shaun Walbridge <46331011+scdub@users.noreply.github.com> Co-authored-by: Nikhil Raverkar <raverkar.nikhil@gmail.com> Co-authored-by: Satyam Vyas <vyas.satyam.04@gmail.com> Co-authored-by: YuviPanda <yuvipanda@gmail.com> Co-authored-by: Orion Poplawski <orion@nwra.com> Co-authored-by: Daniel Holth <dholth@anaconda.com> Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Co-authored-by: Samson Yeung <samson_gh@onepatchdown.net> Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com> * remove unused import; silence typing error (conda#11951) * Update feature/plugins branch with current main. (conda#11961) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Cheng H. Lee <chenghlee@users.noreply.github.com> Co-authored-by: Ken Odegard <kodegard@anaconda.com> Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com> Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Bianca Henderson <bhenderson@anaconda.com> Co-authored-by: Conda Bot <18747875+conda-bot@users.noreply.github.com> Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> Co-authored-by: Isuru Fernando <isuruf@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Shaun Walbridge <46331011+scdub@users.noreply.github.com> Co-authored-by: Nikhil Raverkar <raverkar.nikhil@gmail.com> Co-authored-by: Satyam Vyas <vyas.satyam.04@gmail.com> Co-authored-by: YuviPanda <yuvipanda@gmail.com> Co-authored-by: Orion Poplawski <orion@nwra.com> Co-authored-by: Daniel Holth <dholth@anaconda.com> Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Co-authored-by: Samson Yeung <samson_gh@onepatchdown.net> Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com> Co-authored-by: wulmer <wulmer@users.noreply.github.com> Co-authored-by: Mahe Iram Khan <65779580+ForgottenProgramme@users.noreply.github.com> Co-authored-by: Mahe Iram Khan <maheiramkhan@Mahes-MacBook-Pro.fritz.box> Co-authored-by: Arqam Hussain <70997750+arq0017@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mark Harfouche <mark.harfouche@gmail.com> Co-authored-by: Jaime Rodríguez-Guerra <jaimergp@users.noreply.github.com> Co-authored-by: Bianca Henderson <beeankha@gmail.com> Co-authored-by: Filipe Lains <lains@riseup.net>
* Add `win-arm64` as a recognized platform (conda#11778) * Rename `conda.recipe` to `recipe` (conda#11774) * Rename conda.recipe to recipe * Add news * Update canary-release action version (conda#11799) * Updated conda CLI help to be better for users. (conda#11708) Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Bianca Henderson <bhenderson@anaconda.com> * 🔄 Synced file(s) with conda/infra (conda#11827) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Fix pypy win (conda#11734) * [pre-commit.ci] pre-commit autoupdate (conda#11833) updates: - [github.com/akaihola/darker: 1.5.0 → 1.5.1](akaihola/darker@1.5.0...1.5.1) - [github.com/PyCQA/pylint: v2.15.0 → v2.15.2](pylint-dev/pylint@v2.15.0...v2.15.2) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Fixes an issue that we are having with carnary builds (conda#11803) * Fixes an issue that we are having with carnary builds See this issue for more information: conda/conda-build#4572 * undoing upates to cytoolz * Update CONTRIBUTING.md (conda#11816) Change all references to `triaging` to `issue sorting` per conda/infrastructure#575 * Release 22.9.0 (conda#11844) * Updated .authors.yml * Updated .mailmap * Updated news * Updated authorship for 22.9.0 * Updated CHANGELOG for 22.9.0 * Added first contributions * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Add special announcement to changelog. * Remove emoji to not freak out rever. Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Expose --mach and --arch to devenv script (conda#11851) * [pre-commit.ci] pre-commit autoupdate (conda#11859) updates: - [github.com/PyCQA/pylint: v2.15.2 → v2.15.3](pylint-dev/pylint@v2.15.2...v2.15.3) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * 🔄 Synced file(s) with conda/infra (conda#11853) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Require `ruamel.yaml` (conda#11868) * Update requirements.txt (conda#11842) Updating the flask to address multiple CVEs including ones listed in conda#11831 * Grammatical correction in docs (conda#11870) * Removed allow_other_channels from conda docs. (conda#11866) * Use maintained `ruamel.yaml` (conda#11837) * Try using maintained ruamel.yaml The conda specific fork is maintained as a conda package only in https://github.com/conda-forge/ruamel_yaml-feedstock/tree/master/recipe. My understanding of what's being patched there seems to indicate it's just the __init__.py file. I'm hoping just a rename of the import will be enough, or at least surface what real problems exist. Ref conda#10691 * Only use ruamel.yaml * Use updated ruamel.yaml API stringio * Cache yaml parsers * TEMP CI CHANGE, REMOVE BEFORE MERGE * Add ruamel_yaml fallback * Add news * Undo CI fixes * Update news Co-authored-by: YuviPanda <yuvipanda@gmail.com> Co-authored-by: Orion Poplawski <orion@nwra.com> * document conda-build: pkg_format: 2 (conda#11881) * document conda-build: pkg_format: 2 * Apply suggestions from code review Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com> * Extract script building into helper functions for `conda init --dev` (conda#11862) * 🔄 Synced file(s) with conda/infra (conda#11896) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Refactor conda init shells as argparse choices (conda#11897) * remove encoding pragma (not needed in Python 3) (conda#11880) * remove encoding pragma (not needed in Python 3) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Fail with a readable error message if PackageCacheRecords are missing (conda#11591) * Fail with a readable warning if PackageCacheRecords are missing * Minor fixes to error message. This also doesn’t use cont.io for the tests. * More test fixes and minor code cleanup. * Update news/11591-readable-error-message-if-packagecacherecords-missing Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Ken Odegard <kodegard@anaconda.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Avoid a specific case where `conda env update` hangs. (conda#11818) When using an environment.yml that asks pip to clone a git repo and that path exists, pip will ask for user input. As we are not in a context to provide such, tell pip what to do so it doesn't hang on waiting for user input. * Download packages in parallel (conda#11841) * format package_cache_data.py with black * download packages in threads * improve test coverage * Apply suggestions from code review Co-authored-by: Jannis Leidel <jannis@leidel.info> * Removed ref left behind from removing allow_other_channels docs. (conda#11908) * Enable one single test for linux-{aarch64, ppc64le} (conda#11911) Run one single fast test per docker+qemu emulated linux platform to test that test execution is possible there (container+tools+dependencies work). Can be changed / extended to run specific tests in case there are platform related things to test. Running more tests is time consuming due to emulation (factor 2-10x slower). * Fixed broken URL in conda docs (conda#11902) * Replaced bad link. * Updated release note. * Update xprocess minio pattern (conda#11924) * Updated conda cheatsheet for 4.14.0 release. (conda#11768) * Fix for conda update and install issue related to notices (conda#11852) Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Add pyupgrade to pre-commit (conda#11909) * [pre-commit.ci] auto fixes from pre-commit.com hooks (conda#11928) for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Introduce git-blame-ignore-revs file, add pyupgrade commit to it (conda#11929) * Update ci-skip workflow. (conda#11935) This was forgotten when the 3.10 changes were made. * Check for conda before calling shell hook (conda#11374) * Check conda PS1 hook before calling it * Check for hook script in fish/xonsh/bash * Adapt test_init_sh_user_windows * Removing an outdated piece of documentation (conda#11943) * Fix bullet point list formatting (conda#11945) * Change `metadata_signature_status`'s default value (conda#11944) * Change metadata_signature_status's default value * Add news * Fix CI workflows to always run (conda#11941) * Get rid of the docs check. * Use all-greens action to use just one job for branch protection. * add LD_PRELOAD (conda#11926) Co-authored-by: Mahe Iram Khan <maheiramkhan@Mahes-MacBook-Pro.fritz.box> * restore CondaMultiError from package downloads (conda#11959) * restore CondaMultiError from package downloads * [pre-commit.ci] pre-commit autoupdate (conda#11947) updates: - [github.com/asottile/pyupgrade: v2.38.2 → v3.0.0](asottile/pyupgrade@v2.38.2...v3.0.0) - [github.com/PyCQA/pylint: v2.15.3 → v2.15.4](pylint-dev/pylint@v2.15.3...v2.15.4) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Update a few actions to reduce warnings. (conda#11963) * Changed mentioned conda version (conda#11810) * Check for actions updates every week. (conda#11962) * Bump conda/actions from 22.2.1 to 22.9.0 (conda#11965) Bumps [conda/actions](https://github.com/conda/actions) from 22.2.1 to 22.9.0. - [Release notes](https://github.com/conda/actions/releases) - [Commits](conda/actions@v22.2.1...v22.9.0) --- updated-dependencies: - dependency-name: conda/actions dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Remove toolz accumulate (conda#11879) * substitute for toolz.groupby (conda#11913) * substitute for toolz.groupby * Remove custom `argparse` aliases (conda#11747) * Remove custom aliasing logic * Move argument inline into `add_subparsers` This was added in Python 3.7. * 🔄 Synced file(s) with conda/infra (conda#11969) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * UTF 16 and UTF 32 fixes (conda#9946) * Use a loop to ensure that prefix is replaced even in utf-16 cases * Specify little endian and big endian * Fixup the binary replacement * keep backward portability * Add some tests * Make encoding a string in tests * Just use a loop * Match from beginning of prefix * Add a comment as to why we specify -le and -be * Attempt minimal changes for binary replacement using a single regex * Fixup regex * removing unnecessary * reverting previous state of some test * fixing more issues with tests * updates to enhance code readability * updating type hint to use Enum Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com> * Replace "experimental solver" with just "solver" (conda#11889) * Replace "experimental solver" with just solver * mock is part of unittest * add newline for clearer error message * one more instance * pre-commit fixes * PendingDeprecationWarning preferred at this stage * argparse.Action base class implements __call__ abstractly - do not super()! * actually, better inherit from _StoreAction * satisfy pre-commit * better * that tiiiny space * add news * Update issue template. * Remove trailing whitespace. Co-authored-by: Jannis Leidel <jannis@leidel.info> * Add Plugin Mechanism (conda#11435) Initial plugin framework implementation. Adds registration decorator `@conda.plugins.register` and hook `conda_subcommands` this allows simple subcommand registration: ``` import conda.plugins @conda.plugins.register def conda_subcommands(): yield conda.plugins.CondaSubcommand( name="my-subcommand", summary="...", action=<function>, ) ``` Co-authored-by: Filipe Lains <lains@riseup.net> Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com> Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com> Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Merging latest `main` changes into `feature/plugins` (conda#11940) * Add `win-arm64` as a recognized platform (conda#11778) * Rename `conda.recipe` to `recipe` (conda#11774) * Rename conda.recipe to recipe * Add news * Update canary-release action version (conda#11799) * Updated conda CLI help to be better for users. (conda#11708) Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Bianca Henderson <bhenderson@anaconda.com> * 🔄 Synced file(s) with conda/infra (conda#11827) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Fix pypy win (conda#11734) * [pre-commit.ci] pre-commit autoupdate (conda#11833) updates: - [github.com/akaihola/darker: 1.5.0 → 1.5.1](akaihola/darker@1.5.0...1.5.1) - [github.com/PyCQA/pylint: v2.15.0 → v2.15.2](pylint-dev/pylint@v2.15.0...v2.15.2) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Fixes an issue that we are having with carnary builds (conda#11803) * Fixes an issue that we are having with carnary builds See this issue for more information: conda/conda-build#4572 * undoing upates to cytoolz * Update CONTRIBUTING.md (conda#11816) Change all references to `triaging` to `issue sorting` per conda/infrastructure#575 * Release 22.9.0 (conda#11844) * Updated .authors.yml * Updated .mailmap * Updated news * Updated authorship for 22.9.0 * Updated CHANGELOG for 22.9.0 * Added first contributions * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Update CHANGELOG.md Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Add special announcement to changelog. * Remove emoji to not freak out rever. Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Expose --mach and --arch to devenv script (conda#11851) * [pre-commit.ci] pre-commit autoupdate (conda#11859) updates: - [github.com/PyCQA/pylint: v2.15.2 → v2.15.3](pylint-dev/pylint@v2.15.2...v2.15.3) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * 🔄 Synced file(s) with conda/infra (conda#11853) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Require `ruamel.yaml` (conda#11868) * Update requirements.txt (conda#11842) Updating the flask to address multiple CVEs including ones listed in conda#11831 * Grammatical correction in docs (conda#11870) * Removed allow_other_channels from conda docs. (conda#11866) * Use maintained `ruamel.yaml` (conda#11837) * Try using maintained ruamel.yaml The conda specific fork is maintained as a conda package only in https://github.com/conda-forge/ruamel_yaml-feedstock/tree/master/recipe. My understanding of what's being patched there seems to indicate it's just the __init__.py file. I'm hoping just a rename of the import will be enough, or at least surface what real problems exist. Ref conda#10691 * Only use ruamel.yaml * Use updated ruamel.yaml API stringio * Cache yaml parsers * TEMP CI CHANGE, REMOVE BEFORE MERGE * Add ruamel_yaml fallback * Add news * Undo CI fixes * Update news Co-authored-by: YuviPanda <yuvipanda@gmail.com> Co-authored-by: Orion Poplawski <orion@nwra.com> * document conda-build: pkg_format: 2 (conda#11881) * document conda-build: pkg_format: 2 * Apply suggestions from code review Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com> * Extract script building into helper functions for `conda init --dev` (conda#11862) * 🔄 Synced file(s) with conda/infra (conda#11896) Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> * Refactor conda init shells as argparse choices (conda#11897) * remove encoding pragma (not needed in Python 3) (conda#11880) * remove encoding pragma (not needed in Python 3) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Fail with a readable error message if PackageCacheRecords are missing (conda#11591) * Fail with a readable warning if PackageCacheRecords are missing * Minor fixes to error message. This also doesn’t use cont.io for the tests. * More test fixes and minor code cleanup. * Update news/11591-readable-error-message-if-packagecacherecords-missing Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Ken Odegard <kodegard@anaconda.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Avoid a specific case where `conda env update` hangs. (conda#11818) When using an environment.yml that asks pip to clone a git repo and that path exists, pip will ask for user input. As we are not in a context to provide such, tell pip what to do so it doesn't hang on waiting for user input. * Download packages in parallel (conda#11841) * format package_cache_data.py with black * download packages in threads * improve test coverage * Apply suggestions from code review Co-authored-by: Jannis Leidel <jannis@leidel.info> * Removed ref left behind from removing allow_other_channels docs. (conda#11908) * Enable one single test for linux-{aarch64, ppc64le} (conda#11911) Run one single fast test per docker+qemu emulated linux platform to test that test execution is possible there (container+tools+dependencies work). Can be changed / extended to run specific tests in case there are platform related things to test. Running more tests is time consuming due to emulation (factor 2-10x slower). * Fixed broken URL in conda docs (conda#11902) * Replaced bad link. * Updated release note. * Update xprocess minio pattern (conda#11924) * Updated conda cheatsheet for 4.14.0 release. (conda#11768) * Fix for conda update and install issue related to notices (conda#11852) Co-authored-by: Ken Odegard <kodegard@anaconda.com> * Add pyupgrade to pre-commit (conda#11909) * [pre-commit.ci] auto fixes from pre-commit.com hooks (conda#11928) for more information, see https://pre-commit.ci Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> * Introduce git-blame-ignore-revs file, add pyupgrade commit to it (conda#11929) * Update ci-skip workflow. (conda#11935) This was forgotten when the 3.10 changes were made. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci Co-authored-by: Cheng H. Lee <chenghlee@users.noreply.github.com> Co-authored-by: Ken Odegard <kodegard@anaconda.com> Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com> Co-authored-by: Bianca Henderson <bhenderson@anaconda.com> Co-authored-by: Conda Bot <18747875+conda-bot@users.noreply.github.com> Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> Co-authored-by: Isuru Fernando <isuruf@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com> Co-authored-by: Shaun Walbridge <46331011+scdub@users.noreply.github.com> Co-authored-by: Nikhil Raverkar <raverkar.nikhil@gmail.com> Co-authored-by: Satyam Vyas <vyas.satyam.04@gmail.com> Co-authored-by: YuviPanda <yuvipanda@gmail.com> Co-authored-by: Orion Poplawski <orion@nwra.com> Co-authored-by: Daniel Holth <dholth@anaconda.com> Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Co-authored-by: Samson Yeung <samson_gh@onepatchdown.net> Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com> * remove unused import; silence typing error (conda#11951) * Update feature/plugins branch with current main. (conda#11961) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Cheng H. Lee <chenghlee@users.noreply.github.com> Co-authored-by: Ken Odegard <kodegard@anaconda.com> Co-authored-by: Katherine Kinnaman <kkinnaman@anaconda.com> Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Bianca Henderson <bhenderson@anaconda.com> Co-authored-by: Conda Bot <18747875+conda-bot@users.noreply.github.com> Co-authored-by: Conda Bot <conda-bot@users.noreply.github.com> Co-authored-by: Isuru Fernando <isuruf@gmail.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Shaun Walbridge <46331011+scdub@users.noreply.github.com> Co-authored-by: Nikhil Raverkar <raverkar.nikhil@gmail.com> Co-authored-by: Satyam Vyas <vyas.satyam.04@gmail.com> Co-authored-by: YuviPanda <yuvipanda@gmail.com> Co-authored-by: Orion Poplawski <orion@nwra.com> Co-authored-by: Daniel Holth <dholth@anaconda.com> Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Co-authored-by: Samson Yeung <samson_gh@onepatchdown.net> Co-authored-by: Daniel Bast <2790401+dbast@users.noreply.github.com> Co-authored-by: wulmer <wulmer@users.noreply.github.com> Co-authored-by: Mahe Iram Khan <65779580+ForgottenProgramme@users.noreply.github.com> Co-authored-by: Mahe Iram Khan <maheiramkhan@Mahes-MacBook-Pro.fritz.box> Co-authored-by: Arqam Hussain <70997750+arq0017@users.noreply.github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Mark Harfouche <mark.harfouche@gmail.com> Co-authored-by: Jaime Rodríguez-Guerra <jaimergp@users.noreply.github.com> Co-authored-by: Bianca Henderson <beeankha@gmail.com> Co-authored-by: Filipe Lains <lains@riseup.net>
* Use a loop to ensure that prefix is replaced even in utf-16 cases * Specify little endian and big endian * Fixup the binary replacement * keep backward portability * Add some tests * Make encoding a string in tests * Just use a loop * Match from beginning of prefix * Add a comment as to why we specify -le and -be * Attempt minimal changes for binary replacement using a single regex * Fixup regex * removing unnecessary * reverting previous state of some test * fixing more issues with tests * updates to enhance code readability * updating type hint to use Enum Co-authored-by: Jannis Leidel <jannis@leidel.info> Co-authored-by: Travis Hathaway <travis.j.hathaway@gmail.com>
This was merged in conda/conda#9946.
Fixes: #4298
Needs tests for string replacement tests
I tested this locally to install hugin, which uses wide chars.