{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust-installer/issues/25","labels_url":"https://api.github.com/repos/rust-lang/rust-installer/issues/25/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust-installer/issues/25/comments","events_url":"https://api.github.com/repos/rust-lang/rust-installer/issues/25/events","html_url":"https://github.com/rust-lang/rust-installer/pull/25","id":59555292,"number":25,"title":"add option to disable rewriting of install paths","user":{"login":"jmesmon","id":103437,"avatar_url":"https://avatars.githubusercontent.com/u/103437?v=3","gravatar_id":"","url":"https://api.github.com/users/jmesmon","html_url":"https://github.com/jmesmon","followers_url":"https://api.github.com/users/jmesmon/followers","following_url":"https://api.github.com/users/jmesmon/following{/other_user}","gists_url":"https://api.github.com/users/jmesmon/gists{/gist_id}","starred_url":"https://api.github.com/users/jmesmon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmesmon/subscriptions","organizations_url":"https://api.github.com/users/jmesmon/orgs","repos_url":"https://api.github.com/users/jmesmon/repos","events_url":"https://api.github.com/users/jmesmon/events{/privacy}","received_events_url":"https://api.github.com/users/jmesmon/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"brson","id":147214,"avatar_url":"https://avatars.githubusercontent.com/u/147214?v=3","gravatar_id":"","url":"https://api.github.com/users/brson","html_url":"https://github.com/brson","followers_url":"https://api.github.com/users/brson/followers","following_url":"https://api.github.com/users/brson/following{/other_user}","gists_url":"https://api.github.com/users/brson/gists{/gist_id}","starred_url":"https://api.github.com/users/brson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brson/subscriptions","organizations_url":"https://api.github.com/users/brson/orgs","repos_url":"https://api.github.com/users/brson/repos","events_url":"https://api.github.com/users/brson/events{/privacy}","received_events_url":"https://api.github.com/users/brson/received_events","type":"User","site_admin":false},"milestone":null,"comments":3,"created_at":"2015-03-02T21:36:57Z","updated_at":"2015-03-09T23:44:32Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/rust-lang/rust-installer/pulls/25","html_url":"https://github.com/rust-lang/rust-installer/pull/25","diff_url":"https://github.com/rust-lang/rust-installer/pull/25.diff","patch_url":"https://github.com/rust-lang/rust-installer/pull/25.patch"},"body":"This is intended for use by rust & cargo's `make install`, as in that\r\ncase:\r\n\r\n - these paths are typically built into the pre-install layout already\r\n - attempting to do the replacement will be incorrect subdirectory\r\n   cases (ie: libdir=lib/foo)"},"comment":{"url":"https://api.github.com/repos/rust-lang/rust-installer/issues/comments/77968598","html_url":"https://github.com/rust-lang/rust-installer/pull/25#issuecomment-77968598","issue_url":"https://api.github.com/repos/rust-lang/rust-installer/issues/25","id":77968598,"user":{"login":"jmesmon","id":103437,"avatar_url":"https://avatars.githubusercontent.com/u/103437?v=3","gravatar_id":"","url":"https://api.github.com/users/jmesmon","html_url":"https://github.com/jmesmon","followers_url":"https://api.github.com/users/jmesmon/followers","following_url":"https://api.github.com/users/jmesmon/following{/other_user}","gists_url":"https://api.github.com/users/jmesmon/gists{/gist_id}","starred_url":"https://api.github.com/users/jmesmon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmesmon/subscriptions","organizations_url":"https://api.github.com/users/jmesmon/orgs","repos_url":"https://api.github.com/users/jmesmon/repos","events_url":"https://api.github.com/users/jmesmon/events{/privacy}","received_events_url":"https://api.github.com/users/jmesmon/received_events","type":"User","site_admin":false},"created_at":"2015-03-09T23:44:32Z","updated_at":"2015-03-09T23:44:32Z","body":"> Is there an issue in rust-lang/rust that you are fixing?\r\n\r\nI suppose a bit of background is helpful: I've got some patches I've been working on that allow the use of arbitrary bin-dir and lib-dirs for rustc. This is one of the changes I need for them to work properly, and is fairly independent.\r\n\r\nNow onto specifics:\r\n\r\n> This is not the case with the current Rust and Cargo codebases - they generate a layout that looks like a typical unix layout and it's up to the installer to map that to the desired final locations\r\n\r\nrustc currently allows a customized (to some extent) libdir, and the make system is set up to drop files into it while building (that said, there are a few pieces that assume 'lib' is used).\r\n\r\n>> attempting to do the replacement will be incorrect subdirectory cases (ie: libdir=lib/foo)\r\n\r\n> You are saying that if --libdir is a subdirectory of the destination 'lib' directory there's a problem? Perhaps this case can be detected and handled differently?\r\n\r\nThere is a problem with the _current_ code, which this PR allows users of this module to avoid in specific cases.\r\n\r\nHere's an example (assuming rustc has support for arbitrary libdirs, which it doesn't (yet)):\r\n\r\n- Using rust's configure:\r\n\r\n```\r\n$ ./configure --libdir=lib/arm-poky-linux-gnueabi\r\n$ make\r\n$ make install\r\n```\r\n\r\nMake install results in calling the generated installer the CFG_LIBDIR set to lib/arm-poky-linux-gnueabi (or an absolute path, not too important to me here), but the rust build has already created it's libs inside of the full `lib/arm-poky-linux-gnueabi`, so the subsitution results in `lib/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi`\r\n\r\n\r\n"}}