{"id":20542868,"url":"https://github.com/jerryshell/rust-safer-build","last_synced_at":"2026-03-07T09:02:03.164Z","repository":{"id":186520338,"uuid":"675303938","full_name":"jerryshell/rust-safer-build","owner":"jerryshell","description":"Rust safer build","archived":false,"fork":false,"pushed_at":"2023-08-06T13:34:28.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-16T15:27:06.839Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jerryshell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-06T13:32:41.000Z","updated_at":"2023-08-06T13:32:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"dd2e8184-7f0c-4761-97c2-2dfca7ef483c","html_url":"https://github.com/jerryshell/rust-safer-build","commit_stats":null,"previous_names":["jerryshell/rust-safer-build"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerryshell%2Frust-safer-build","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerryshell%2Frust-safer-build/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerryshell%2Frust-safer-build/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerryshell%2Frust-safer-build/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jerryshell","download_url":"https://codeload.github.com/jerryshell/rust-safer-build/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242149860,"owners_count":20079994,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-16T01:34:42.036Z","updated_at":"2026-03-07T09:01:58.108Z","avatar_url":"https://github.com/jerryshell.png","language":null,"readme":"[https://gitlab.torproject.org/tpo/core/arti/-/blob/main/doc/safer-build.md](https://gitlab.torproject.org/tpo/core/arti/-/blob/main/doc/safer-build.md)\n\n# Safer build options\n\nBy default,\nthe Rust compiler includes your current path information\nin the binaries that it generates.\nThis could be a problem if,\nfor example, you are building from a path like\n`/home/FirstnameLastname/build/arti`\nand releasing binaries (or uploading backtraces)\nunder a pseudonym\nthat you do not want linked to `FirstnameLastname`.\n\nThere is a good overview of the issues here at\nhttps://github.com/betrusted-io/xous-core/issues/57 .\n\nThere are a couple of workarounds here.\n\n# Workaround one: reproducible build\n\nIf you have Docker,\nyou can run a reproducible build of Arti,\nso that the binary you make will be the same\nas a binary generated by anybody else.\n\nSee the\n[`docker_reproducible_build`](../maint/docker_reproducible_build)\nscript for more information.\n\n# Workaround two: RUSTFLAGS\n\nAs a quick-and-dirty solution,\nyou can use the `--remap-path-prefix` option\nto tell the Rust compiler\nto re-map your paths into anonymized ones.\n\nThis is not a perfect solution;\nthere are known issues under some configurations,\nparticularly if you are linking to a static OpenSSL.\n\nPersonally, I get good results from running:\n\n```\nRUSTFLAGS=\"--remap-path-prefix $HOME/.cargo=.cargo --remap-path-prefix $(pwd)=.\" \\\n   cargo build --release -p arti\n```\n\nAfter you do this, you can use\n`strings target/release/arti | grep \"$HOME\"`\nto see if your home directory appears in the result.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjerryshell%2Frust-safer-build","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjerryshell%2Frust-safer-build","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjerryshell%2Frust-safer-build/lists"}