{"action":"created","comment":{"url":"https://api.github.com/repos/conan-io/conan/pulls/comments/80453978","id":80453978,"diff_hunk":"@@ -24,20 +25,63 @@ def upload_conan(self, conan_reference, remote):\n         \"\"\"Will upload the conans to the first remote\"\"\"\n         basedir = self._client_cache.export(conan_reference)\n         rel_files = self._client_cache.export_paths(conan_reference)\n+        the_files = {filename: os.path.join(basedir, filename) for filename in rel_files}\n \n-        the_files = build_files_set(basedir, rel_files)\n-        the_files = compress_export_files(the_files)\n+        if CONANFILE not in rel_files or CONAN_MANIFEST not in rel_files:\n+            raise ConanException(\"Cannot upload corrupted recipe '%s'\" % str(conan_reference))\n+\n+        # FIXME: Check modified exports by hand?\n+\n+        if EXPORT_TGZ_NAME not in the_files:\n+            self._output.rewrite_line(\"Compressing exported files...\")\n+            the_files = compress_export_files(the_files, basedir)\n+        else:\n+            the_files = {EXPORT_TGZ_NAME: the_files[EXPORT_TGZ_NAME],\n+                         CONANFILE: the_files[CONANFILE],\n+                         CONAN_MANIFEST: the_files[CONAN_MANIFEST]}\n         return self._call_remote(remote, \"upload_conan\", conan_reference, the_files)\n \n     def upload_package(self, package_reference, remote):\n         \"\"\"Will upload the package to the first remote\"\"\"\n+        t1 = time.time()\n         basedir = self._client_cache.package(package_reference)\n         rel_files = self._client_cache.package_paths(package_reference)\n \n-        the_files = build_files_set(basedir, rel_files)\n-        self._output.rewrite_line(\"Compressing package...\")\n-        the_files = compress_package_files(the_files)\n-        return self._call_remote(remote, \"upload_package\", package_reference, the_files)\n+        self._output.rewrite_line(\"Checking package integrity...\")\n+        if CONANINFO not in rel_files or CONAN_MANIFEST not in rel_files:\n+            raise ConanException(\"Cannot upload corrupted package '%s'\" % str(package_reference))\n+\n+        the_files = {filename: os.path.join(basedir, filename) for filename in rel_files}\n+        logger.debug(\"====> Time remote_manager build_files_set : %f\" % (time.time() - t1))\n+\n+        # If package has been modified remove tgz to regenerate it\n+        read_manifest, expected_manifest = self._client_cache.package_manifests(package_reference)\n+        if read_manifest is None or read_manifest.file_sums != expected_manifest.file_sums:\n+            if PACKAGE_TGZ_NAME in the_files:\n+                del the_files[PACKAGE_TGZ_NAME]","path":"conans/client/remote_manager.py","position":59,"original_position":59,"commit_id":"c9a76a827678654a6c15c261e1e73dbbc7a710e2","original_commit_id":"c9a76a827678654a6c15c261e1e73dbbc7a710e2","user":{"login":"memsharded","id":15367152,"avatar_url":"https://avatars.githubusercontent.com/u/15367152?v=3","gravatar_id":"","url":"https://api.github.com/users/memsharded","html_url":"https://github.com/memsharded","followers_url":"https://api.github.com/users/memsharded/followers","following_url":"https://api.github.com/users/memsharded/following{/other_user}","gists_url":"https://api.github.com/users/memsharded/gists{/gist_id}","starred_url":"https://api.github.com/users/memsharded/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/memsharded/subscriptions","organizations_url":"https://api.github.com/users/memsharded/orgs","repos_url":"https://api.github.com/users/memsharded/repos","events_url":"https://api.github.com/users/memsharded/events{/privacy}","received_events_url":"https://api.github.com/users/memsharded/received_events","type":"User","site_admin":false},"body":"Why bothering delete this from dict, if ``ConanException`` will be raised and processing stopped?","created_at":"2016-09-26T11:16:49Z","updated_at":"2016-09-26T11:23:34Z","html_url":"https://github.com/conan-io/conan/pull/497#discussion_r80453978","pull_request_url":"https://api.github.com/repos/conan-io/conan/pulls/497","_links":{"self":{"href":"https://api.github.com/repos/conan-io/conan/pulls/comments/80453978"},"html":{"href":"https://github.com/conan-io/conan/pull/497#discussion_r80453978"},"pull_request":{"href":"https://api.github.com/repos/conan-io/conan/pulls/497"}}},"pull_request":{"url":"https://api.github.com/repos/conan-io/conan/pulls/497","id":85817685,"html_url":"https://github.com/conan-io/conan/pull/497","diff_url":"https://github.com/conan-io/conan/pull/497.diff","patch_url":"https://github.com/conan-io/conan/pull/497.patch","issue_url":"https://api.github.com/repos/conan-io/conan/issues/497","number":497,"state":"open","locked":false,"title":"Not re-compress tgz's","user":{"login":"lasote","id":3807515,"avatar_url":"https://avatars.githubusercontent.com/u/3807515?v=3","gravatar_id":"","url":"https://api.github.com/users/lasote","html_url":"https://github.com/lasote","followers_url":"https://api.github.com/users/lasote/followers","following_url":"https://api.github.com/users/lasote/following{/other_user}","gists_url":"https://api.github.com/users/lasote/gists{/gist_id}","starred_url":"https://api.github.com/users/lasote/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lasote/subscriptions","organizations_url":"https://api.github.com/users/lasote/orgs","repos_url":"https://api.github.com/users/lasote/repos","events_url":"https://api.github.com/users/lasote/events{/privacy}","received_events_url":"https://api.github.com/users/lasote/received_events","type":"User","site_admin":false},"body":"- Every install is removing the package folder, so we can avoid the package compression each time we want to upload it.\r\n- Also every export removes the export folder, so we can reuse the exported tgz if exists.\r\n- Several FIXME comments related to increase or not the contents of the uploaded packages.\r\n- Little changes to test framework to work with url remote url.","created_at":"2016-09-19T15:41:06Z","updated_at":"2016-09-26T11:23:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":"fe7098973b5078adcf019d98982d32287e5cd118","assignee":{"login":"memsharded","id":15367152,"avatar_url":"https://avatars.githubusercontent.com/u/15367152?v=3","gravatar_id":"","url":"https://api.github.com/users/memsharded","html_url":"https://github.com/memsharded","followers_url":"https://api.github.com/users/memsharded/followers","following_url":"https://api.github.com/users/memsharded/following{/other_user}","gists_url":"https://api.github.com/users/memsharded/gists{/gist_id}","starred_url":"https://api.github.com/users/memsharded/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/memsharded/subscriptions","organizations_url":"https://api.github.com/users/memsharded/orgs","repos_url":"https://api.github.com/users/memsharded/repos","events_url":"https://api.github.com/users/memsharded/events{/privacy}","received_events_url":"https://api.github.com/users/memsharded/received_events","type":"User","site_admin":false},"assignees":[{"login":"memsharded","id":15367152,"avatar_url":"https://avatars.githubusercontent.com/u/15367152?v=3","gravatar_id":"","url":"https://api.github.com/users/memsharded","html_url":"https://github.com/memsharded","followers_url":"https://api.github.com/users/memsharded/followers","following_url":"https://api.github.com/users/memsharded/following{/other_user}","gists_url":"https://api.github.com/users/memsharded/gists{/gist_id}","starred_url":"https://api.github.com/users/memsharded/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/memsharded/subscriptions","organizations_url":"https://api.github.com/users/memsharded/orgs","repos_url":"https://api.github.com/users/memsharded/repos","events_url":"https://api.github.com/users/memsharded/events{/privacy}","received_events_url":"https://api.github.com/users/memsharded/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/conan-io/conan/pulls/497/commits","review_comments_url":"https://api.github.com/repos/conan-io/conan/pulls/497/comments","review_comment_url":"https://api.github.com/repos/conan-io/conan/pulls/comments{/number}","comments_url":"https://api.github.com/repos/conan-io/conan/issues/497/comments","statuses_url":"https://api.github.com/repos/conan-io/conan/statuses/c9a76a827678654a6c15c261e1e73dbbc7a710e2","head":{"label":"lasote:feature/test_frameworks_improve","ref":"feature/test_frameworks_improve","sha":"c9a76a827678654a6c15c261e1e73dbbc7a710e2","user":{"login":"lasote","id":3807515,"avatar_url":"https://avatars.githubusercontent.com/u/3807515?v=3","gravatar_id":"","url":"https://api.github.com/users/lasote","html_url":"https://github.com/lasote","followers_url":"https://api.github.com/users/lasote/followers","following_url":"https://api.github.com/users/lasote/following{/other_user}","gists_url":"https://api.github.com/users/lasote/gists{/gist_id}","starred_url":"https://api.github.com/users/lasote/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lasote/subscriptions","organizations_url":"https://api.github.com/users/lasote/orgs","repos_url":"https://api.github.com/users/lasote/repos","events_url":"https://api.github.com/users/lasote/events{/privacy}","received_events_url":"https://api.github.com/users/lasote/received_events","type":"User","site_admin":false},"repo":{"id":47204017,"name":"conan","full_name":"lasote/conan","owner":{"login":"lasote","id":3807515,"avatar_url":"https://avatars.githubusercontent.com/u/3807515?v=3","gravatar_id":"","url":"https://api.github.com/users/lasote","html_url":"https://github.com/lasote","followers_url":"https://api.github.com/users/lasote/followers","following_url":"https://api.github.com/users/lasote/following{/other_user}","gists_url":"https://api.github.com/users/lasote/gists{/gist_id}","starred_url":"https://api.github.com/users/lasote/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lasote/subscriptions","organizations_url":"https://api.github.com/users/lasote/orgs","repos_url":"https://api.github.com/users/lasote/repos","events_url":"https://api.github.com/users/lasote/events{/privacy}","received_events_url":"https://api.github.com/users/lasote/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/lasote/conan","description":"Conan.io - The open-source C/C++ package manager","fork":true,"url":"https://api.github.com/repos/lasote/conan","forks_url":"https://api.github.com/repos/lasote/conan/forks","keys_url":"https://api.github.com/repos/lasote/conan/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lasote/conan/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lasote/conan/teams","hooks_url":"https://api.github.com/repos/lasote/conan/hooks","issue_events_url":"https://api.github.com/repos/lasote/conan/issues/events{/number}","events_url":"https://api.github.com/repos/lasote/conan/events","assignees_url":"https://api.github.com/repos/lasote/conan/assignees{/user}","branches_url":"https://api.github.com/repos/lasote/conan/branches{/branch}","tags_url":"https://api.github.com/repos/lasote/conan/tags","blobs_url":"https://api.github.com/repos/lasote/conan/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lasote/conan/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lasote/conan/git/refs{/sha}","trees_url":"https://api.github.com/repos/lasote/conan/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lasote/conan/statuses/{sha}","languages_url":"https://api.github.com/repos/lasote/conan/languages","stargazers_url":"https://api.github.com/repos/lasote/conan/stargazers","contributors_url":"https://api.github.com/repos/lasote/conan/contributors","subscribers_url":"https://api.github.com/repos/lasote/conan/subscribers","subscription_url":"https://api.github.com/repos/lasote/conan/subscription","commits_url":"https://api.github.com/repos/lasote/conan/commits{/sha}","git_commits_url":"https://api.github.com/repos/lasote/conan/git/commits{/sha}","comments_url":"https://api.github.com/repos/lasote/conan/comments{/number}","issue_comment_url":"https://api.github.com/repos/lasote/conan/issues/comments{/number}","contents_url":"https://api.github.com/repos/lasote/conan/contents/{+path}","compare_url":"https://api.github.com/repos/lasote/conan/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lasote/conan/merges","archive_url":"https://api.github.com/repos/lasote/conan/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lasote/conan/downloads","issues_url":"https://api.github.com/repos/lasote/conan/issues{/number}","pulls_url":"https://api.github.com/repos/lasote/conan/pulls{/number}","milestones_url":"https://api.github.com/repos/lasote/conan/milestones{/number}","notifications_url":"https://api.github.com/repos/lasote/conan/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lasote/conan/labels{/name}","releases_url":"https://api.github.com/repos/lasote/conan/releases{/id}","deployments_url":"https://api.github.com/repos/lasote/conan/deployments","created_at":"2015-12-01T16:56:42Z","updated_at":"2016-01-11T09:54:04Z","pushed_at":"2016-09-26T09:41:22Z","git_url":"git://github.com/lasote/conan.git","ssh_url":"git@github.com:lasote/conan.git","clone_url":"https://github.com/lasote/conan.git","svn_url":"https://github.com/lasote/conan","homepage":"https://conan.io","size":1204,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"conan-io:develop","ref":"develop","sha":"2efe2f0b836a8db128f5f45116d903e92532d039","user":{"login":"conan-io","id":15212165,"avatar_url":"https://avatars.githubusercontent.com/u/15212165?v=3","gravatar_id":"","url":"https://api.github.com/users/conan-io","html_url":"https://github.com/conan-io","followers_url":"https://api.github.com/users/conan-io/followers","following_url":"https://api.github.com/users/conan-io/following{/other_user}","gists_url":"https://api.github.com/users/conan-io/gists{/gist_id}","starred_url":"https://api.github.com/users/conan-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/conan-io/subscriptions","organizations_url":"https://api.github.com/users/conan-io/orgs","repos_url":"https://api.github.com/users/conan-io/repos","events_url":"https://api.github.com/users/conan-io/events{/privacy}","received_events_url":"https://api.github.com/users/conan-io/received_events","type":"Organization","site_admin":false},"repo":{"id":47190624,"name":"conan","full_name":"conan-io/conan","owner":{"login":"conan-io","id":15212165,"avatar_url":"https://avatars.githubusercontent.com/u/15212165?v=3","gravatar_id":"","url":"https://api.github.com/users/conan-io","html_url":"https://github.com/conan-io","followers_url":"https://api.github.com/users/conan-io/followers","following_url":"https://api.github.com/users/conan-io/following{/other_user}","gists_url":"https://api.github.com/users/conan-io/gists{/gist_id}","starred_url":"https://api.github.com/users/conan-io/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/conan-io/subscriptions","organizations_url":"https://api.github.com/users/conan-io/orgs","repos_url":"https://api.github.com/users/conan-io/repos","events_url":"https://api.github.com/users/conan-io/events{/privacy}","received_events_url":"https://api.github.com/users/conan-io/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/conan-io/conan","description":"Conan.io - The open-source C/C++ package manager","fork":false,"url":"https://api.github.com/repos/conan-io/conan","forks_url":"https://api.github.com/repos/conan-io/conan/forks","keys_url":"https://api.github.com/repos/conan-io/conan/keys{/key_id}","collaborators_url":"https://api.github.com/repos/conan-io/conan/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/conan-io/conan/teams","hooks_url":"https://api.github.com/repos/conan-io/conan/hooks","issue_events_url":"https://api.github.com/repos/conan-io/conan/issues/events{/number}","events_url":"https://api.github.com/repos/conan-io/conan/events","assignees_url":"https://api.github.com/repos/conan-io/conan/assignees{/user}","branches_url":"https://api.github.com/repos/conan-io/conan/branches{/branch}","tags_url":"https://api.github.com/repos/conan-io/conan/tags","blobs_url":"https://api.github.com/repos/conan-io/conan/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/conan-io/conan/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/conan-io/conan/git/refs{/sha}","trees_url":"https://api.github.com/repos/conan-io/conan/git/trees{/sha}","statuses_url":"https://api.github.com/repos/conan-io/conan/statuses/{sha}","languages_url":"https://api.github.com/repos/conan-io/conan/languages","stargazers_url":"https://api.github.com/repos/conan-io/conan/stargazers","contributors_url":"https://api.github.com/repos/conan-io/conan/contributors","subscribers_url":"https://api.github.com/repos/conan-io/conan/subscribers","subscription_url":"https://api.github.com/repos/conan-io/conan/subscription","commits_url":"https://api.github.com/repos/conan-io/conan/commits{/sha}","git_commits_url":"https://api.github.com/repos/conan-io/conan/git/commits{/sha}","comments_url":"https://api.github.com/repos/conan-io/conan/comments{/number}","issue_comment_url":"https://api.github.com/repos/conan-io/conan/issues/comments{/number}","contents_url":"https://api.github.com/repos/conan-io/conan/contents/{+path}","compare_url":"https://api.github.com/repos/conan-io/conan/compare/{base}...{head}","merges_url":"https://api.github.com/repos/conan-io/conan/merges","archive_url":"https://api.github.com/repos/conan-io/conan/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/conan-io/conan/downloads","issues_url":"https://api.github.com/repos/conan-io/conan/issues{/number}","pulls_url":"https://api.github.com/repos/conan-io/conan/pulls{/number}","milestones_url":"https://api.github.com/repos/conan-io/conan/milestones{/number}","notifications_url":"https://api.github.com/repos/conan-io/conan/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/conan-io/conan/labels{/name}","releases_url":"https://api.github.com/repos/conan-io/conan/releases{/id}","deployments_url":"https://api.github.com/repos/conan-io/conan/deployments","created_at":"2015-12-01T13:17:02Z","updated_at":"2016-09-24T18:15:30Z","pushed_at":"2016-09-26T09:41:23Z","git_url":"git://github.com/conan-io/conan.git","ssh_url":"git@github.com:conan-io/conan.git","clone_url":"https://github.com/conan-io/conan.git","svn_url":"https://github.com/conan-io/conan","homepage":"https://conan.io","size":1187,"stargazers_count":580,"watchers_count":580,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":57,"mirror_url":null,"open_issues_count":67,"forks":57,"open_issues":67,"watchers":580,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/conan-io/conan/pulls/497"},"html":{"href":"https://github.com/conan-io/conan/pull/497"},"issue":{"href":"https://api.github.com/repos/conan-io/conan/issues/497"},"comments":{"href":"https://api.github.com/repos/conan-io/conan/issues/497/comments"},"review_comments":{"href":"https://api.github.com/repos/conan-io/conan/pulls/497/comments"},"review_comment":{"href":"https://api.github.com/repos/conan-io/conan/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/conan-io/conan/pulls/497/commits"},"statuses":{"href":"https://api.github.com/repos/conan-io/conan/statuses/c9a76a827678654a6c15c261e1e73dbbc7a710e2"}}}}
{"actor":{"display_login":"memsharded"}}