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

Remove files containing Macos meta-data #4103

merged 12 commits into from Dec 18, 2018


None yet
4 participants
Copy link

commented Dec 10, 2018

Changelog: Feature: Remove files containing Macos meta-data (files beginning by ._)

@ghost ghost assigned jgsogo Dec 10, 2018

@ghost ghost added the stage: review label Dec 10, 2018

@jgsogo jgsogo changed the title Issue/3529 dot clean Remove files containing Macos meta-data Dec 10, 2018

@jgsogo jgsogo added this to the 1.11 milestone Dec 10, 2018

@jgsogo jgsogo requested a review from memsharded Dec 10, 2018


This comment has been minimized.

Copy link

commented Dec 11, 2018

Please, as we discussed I would like to know when and why it was failing, because depending on it we could choose how to fix it. So, finally failing with the create and working with local methods?


This comment has been minimized.

Copy link
Member Author

commented Dec 11, 2018

In the test you can see how the offending file appears in the system. If a copy is performed it vanish. That is the difference between the two workflows: one is making a copy while the other one isn't.

Adnn explains everything about it:

Finally, back to the initial topic of this issue:

why is there a difference in behaviour between between the "developer workflow" and conan create

Because, to fully reproduce the expected recipe that would need to copy the source folder to modify bits of it, I added a manual cp step to the developer workflow, because I could not find any conan developer command to do this copy otherwise.

And the cp shipped with OS X took care of handling those ._ (applying the attributes, and not copying them over to destination).

So, here it is, a recipe that was working perfectly in "developer workflow" is breaking at build time with conan create.

Copy link

left a comment

I understood that this feature was due to downloading zip or tgz from the internet.
That is, the tools.get(), tools.unzip(), etc. I cannot see interface for this functionality.

On the other hand it is also affecting the core conan zip-unzip of .tgz, which we commented not to modify, as it has not been a problem so far.

So I suggest to move the

 if clean_macos_dot_files:

functionality to the corresponding tools section.

Please, feedback from @lasote too.

jgsogo added some commits Dec 18, 2018

This has nothing to do with the previous behavior

Show resolved Hide resolved conans/client/tools/ Outdated

lasote approved these changes Dec 18, 2018

Copy link

left a comment

Don't forget the docs


This comment has been minimized.

Copy link
Member Author

commented Dec 18, 2018

I won't, there is a checkbox left in the first comment 👍

@lasote lasote merged commit 9000d72 into conan-io:develop Dec 18, 2018

2 checks passed

continuous-integration/jenkins/pr-head This commit looks good
license/cla Contributor License Agreement is signed.

@ghost ghost removed the stage: review label Dec 18, 2018

@lasote lasote referenced this pull request Dec 18, 2018


Document macos-metadata #977

@jgsogo jgsogo deleted the jgsogo:issue/3529-dot_clean branch Dec 18, 2018

grisumbras pushed a commit to grisumbras/conan that referenced this pull request Dec 27, 2018

Remove files containing Macos meta-data (conan-io#4103)
* if it is going to be a local import, reduce scope

* clean dot files in Macos

* pass parameter to uncompress function

* do nothing with the outputs

* test to check where the metadata is being lost

* add unittests for dot clean util

* ups

* work on tmp folder

* uneeded changes

* rename tool to mac_dot_clean, do not remove temp files

* renamed to 'apple_dot_clean'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.