{"action":"closed","issue":{"url":"https://api.github.com/repos/CocoaPods/CocoaPods/issues/3683","labels_url":"https://api.github.com/repos/CocoaPods/CocoaPods/issues/3683/labels{/name}","comments_url":"https://api.github.com/repos/CocoaPods/CocoaPods/issues/3683/comments","events_url":"https://api.github.com/repos/CocoaPods/CocoaPods/issues/3683/events","html_url":"https://github.com/CocoaPods/CocoaPods/issues/3683","id":88218186,"number":3683,"title":"pod linter executing prepare_command of a dependency in the wrong folder","user":{"login":"andreacremaschi","id":1131165,"avatar_url":"https://avatars.githubusercontent.com/u/1131165?v=3","gravatar_id":"","url":"https://api.github.com/users/andreacremaschi","html_url":"https://github.com/andreacremaschi","followers_url":"https://api.github.com/users/andreacremaschi/followers","following_url":"https://api.github.com/users/andreacremaschi/following{/other_user}","gists_url":"https://api.github.com/users/andreacremaschi/gists{/gist_id}","starred_url":"https://api.github.com/users/andreacremaschi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreacremaschi/subscriptions","organizations_url":"https://api.github.com/users/andreacremaschi/orgs","repos_url":"https://api.github.com/users/andreacremaschi/repos","events_url":"https://api.github.com/users/andreacremaschi/events{/privacy}","received_events_url":"https://api.github.com/users/andreacremaschi/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/CocoaPods/CocoaPods/labels/s4:awaiting%20validation","name":"s4:awaiting validation","color":"F97D27"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":10,"created_at":"2015-06-14T17:20:51Z","updated_at":"2015-10-27T04:40:49Z","closed_at":"2015-10-27T04:40:49Z","body":"hi,\r\n\r\nI am creating a new pod spec (with CocoaPods 0.37.2) that looks like this:\r\n\r\n```ruby\r\nPod::Spec.new do |s|\r\n\r\n  s.name         = \"GEOSwift\"\r\n  s.version      = \"0.1\"\r\n  s.summary      = \"The Swift Geographic Engine.\"\r\n\r\n  <!-- stripping unrelevant part --->\r\n\r\n  s.dependency \"geos\", \"~> 3.4.2\"\r\n\r\nend\r\n```\r\n\r\nIt has a single dependency named `geos` that was already published and lints correctly.\r\n`geos` is a GNU autoconf project, so it runs a complex `prepare_command` step.\r\n\r\nWhen I try to run `pod spec lint` on my new `GEOSwift.podspec` it fails with this error:\r\n\r\n```bash\r\n$ pod spec lint --verbose GEOSwift.podspec\r\n\r\n    GEOS.swift (0.1) - Analyzing on iOS 7.0 platform.\r\n  Preparing\r\n\r\nAnalyzing dependencies\r\n\r\nInspecting targets to integrate\r\n\r\nFetching external sources\r\n-> Fetching podspec for `GEOS.swift` from `/Users/andreacremaschi/Developing/MySource/GEOSwift-Swift1.2/GEOSwift.podspec`\r\n\r\nResolving dependencies of \r\nStarting resolution (2015-06-14 19:16:58 +0200)\r\nCreating possibility state for GEOS.swift (from `/Users/andreacremaschi/Developing/MySource/GEOSwift-Swift1.2/GEOSwift.podspec`) (1 remaining)\r\n  Attempting to activate GEOS.swift (0.1)\r\n  Activated GEOS.swift at GEOS.swift (0.1)\r\n  Requiring nested dependencies (geos (~> 3.4.2))\r\n  Creating possibility state for geos (~> 3.4.2) (1 remaining)\r\n    Attempting to activate geos (3.4.2)\r\n    Activated geos at geos (3.4.2)\r\n    Requiring nested dependencies ()\r\nFinished resolution (2 steps) (Took 0.100702 seconds) (2015-06-14 19:16:58 +0200)\r\nUnactivated: \r\nActivated: GEOS.swift, geos\r\n\r\nComparing resolved specification to the sandbox manifest\r\n  A GEOS.swift\r\n  A geos\r\n\r\nDownloading dependencies\r\n\r\n-> Installing GEOS.swift (0.1)\r\n > Git download\r\n > Git download\r\n     $ /usr/local/bin/git clone https://github.com/andreacremaschi/GEOSwift.git\r\n     /var/folders/qr/tvdnmtvx0fsbx_994p8fk8dm0000gn/T/d20150614-10020-1ui64so --single-branch --depth 1\r\n     --branch 0.1\r\n     Cloning into '/var/folders/qr/tvdnmtvx0fsbx_994p8fk8dm0000gn/T/d20150614-10020-1ui64so'...\r\n     Note: checking out '3d6a9ffbd6f82f695041d372b16dcff7af8aa9fd'.\r\n     \r\n     You are in 'detached HEAD' state. You can look around, make experimental\r\n     changes and commit them, and you can discard any commits you make in this\r\n     state without impacting any branches by performing another checkout.\r\n     \r\n     If you want to create a new branch to retain commits you create, you may\r\n     do so (now or later) by using -b with the checkout command again. Example:\r\n     \r\n       git checkout -b new_branch_name\r\n     \r\n > Running prepare command\r\n   $ /bin/bash -c  set -e  type -P autoconf &>/dev/null || alias autoconf 'xcrun autoconf' type -P autoheader\r\n   &>/dev/null || alias autoheader 'xcrun autoheader' type -P aclocal &>/dev/null || alias aclocal 'xcrun\r\n   aclocal' type -P automake &>/dev/null || alias automake 'xcrun automake' type -P glibtool &>/dev/null ||\r\n   alias glibtool 'xcrun glibtool' type -P glibtoolize &>/dev/null || alias glibtoolize 'xcrun glibtoolize' \r\n   sh autogen.sh ./configure ./tools/svn_repo_revision.sh  sed -i \"\" \"s/\\/\\* #undef HAVE_INT64_T_64\r\n   \\*\\//#define HAVE_INT64_T_64 1/\" include/geos/platform.h sed -i \"\" \"s/#define HAVE_LONG_INT_64 1/\\/\\*\r\n   #undef HAVE_LONG_INT_64 \\*\\//\" include/geos/platform.h  cat <<EOT >> include/geos/platform.h   #undef ISNAN\r\n   #define ISNAN(x) (std::isnan(x)) EOT\r\n   sh: autogen.sh: No such file or directory\r\n[!] /bin/bash -c \r\nset -e\r\n\r\ntype -P autoconf &>/dev/null || alias autoconf 'xcrun autoconf'\r\ntype -P autoheader &>/dev/null || alias autoheader 'xcrun autoheader'\r\ntype -P aclocal &>/dev/null || alias aclocal 'xcrun aclocal'\r\ntype -P automake &>/dev/null || alias automake 'xcrun automake'\r\ntype -P glibtool &>/dev/null || alias glibtool 'xcrun glibtool'\r\ntype -P glibtoolize &>/dev/null || alias glibtoolize 'xcrun glibtoolize'\r\n\r\nsh autogen.sh\r\n./configure\r\n./tools/svn_repo_revision.sh\r\n\r\nsed -i \"\" \"s/\\/\\* #undef HAVE_INT64_T_64 \\*\\//#define HAVE_INT64_T_64 1/\" include/geos/platform.h\r\nsed -i \"\" \"s/#define HAVE_LONG_INT_64 1/\\/\\* #undef HAVE_LONG_INT_64 \\*\\//\" include/geos/platform.h\r\n\r\ncat <<EOT >> include/geos/platform.h\r\n  #undef ISNAN\r\n  #define ISNAN(x) (std::isnan(x))\r\nEOT\r\n\r\nsh: autogen.sh: No such file or directory\r\n\r\n\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/executable.rb:70:in `execute_command'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/executable.rb:27:in `block in executable'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/installer/pod_source_preparer.rb:64:in `block (2 levels) in run_prepare_command'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/installer/pod_source_preparer.rb:60:in `chdir'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/installer/pod_source_preparer.rb:60:in `block in run_prepare_command'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/user_interface.rb:59:in `section'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/installer/pod_source_preparer.rb:59:in `run_prepare_command'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/installer/pod_source_preparer.rb:37:in `prepare!'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/downloader/cache.rb:154:in `copy_and_clean'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/downloader/cache.rb:111:in `block (2 levels) in uncached_pod'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/downloader/cache.rb:109:in `each'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/downloader/cache.rb:109:in `block in uncached_pod'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/downloader/cache.rb:133:in `call'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/downloader/cache.rb:133:in `in_tmpdir'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/downloader/cache.rb:106:in `uncached_pod'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/downloader/cache.rb:33:in `download_pod'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/downloader.rb:34:in `download'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/installer/pod_source_installer.rb:90:in `download_source'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/installer/pod_source_installer.rb:47:in `install!'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/installer.rb:310:in `install_source_of_pod'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/installer.rb:285:in `block (2 levels) in install_pod_sources'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/user_interface.rb:80:in `titled_section'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/installer.rb:284:in `block in install_pod_sources'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/installer.rb:276:in `each'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/installer.rb:276:in `install_pod_sources'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/installer.rb:124:in `block in download_dependencies'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/user_interface.rb:59:in `section'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/installer.rb:122:in `download_dependencies'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/installer.rb:94:in `install!'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/validator.rb:323:in `install_pod'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/validator.rb:225:in `block in perform_extensive_analysis'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/validator.rb:221:in `each'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/validator.rb:221:in `perform_extensive_analysis'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/validator.rb:75:in `validate'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/command/spec/lint.rb:55:in `block in run'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/command/spec/lint.rb:46:in `each'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/command/spec/lint.rb:46:in `run'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/claide-0.8.1/lib/claide/command.rb:312:in `run'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/lib/cocoapods/command.rb:46:in `run'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/gems/cocoapods-0.37.2/bin/pod:44:in `<top (required)>'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/bin/pod:23:in `load'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/bin/pod:23:in `<main>'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/bin/ruby_executable_hooks:15:in `eval'\r\n/Users/andreacremaschi/.rvm/gems/ruby-2.1.3/bin/ruby_executable_hooks:15:in `<main>'\r\n```\r\n\r\nAs far as I understand it, it is trying to execute the `prepare_command` in the wrong folder.\r\n\r\nThis is the repository (the correct .podspec is in the `develop` branch): https://github.com/andreacremaschi/GEOSwift"}}