CARVIEW |
Select Language
HTTP/2 302
server: nginx
date: Sat, 09 Aug 2025 03:44:10 GMT
content-type: text/plain; charset=utf-8
content-length: 0
x-archive-redirect-reason: found capture at 20100214115612
location: https://web.archive.org/web/20100214115612/https://github.com/tekkub/github-gem-builder
server-timing: captures_list;dur=0.898244, exclusion.robots;dur=0.028314, exclusion.robots.policy;dur=0.013826, esindex;dur=0.015467, cdx.remote;dur=21.480134, LoadShardBlock;dur=214.521773, PetaboxLoader3.datanode;dur=121.434016, PetaboxLoader3.resolve;dur=61.336756
x-app-server: wwwb-app217
x-ts: 302
x-tr: 284
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
set-cookie: wb-p-SERVER=wwwb-app217; path=/
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
HTTP/2 200
server: nginx
date: Sat, 09 Aug 2025 03:44:11 GMT
content-type: text/html; charset=utf-8
x-archive-orig-server: nginx/0.7.61
x-archive-orig-date: Sun, 14 Feb 2010 11:56:13 GMT
x-archive-orig-connection: close
x-archive-orig-status: 200 OK
x-archive-orig-etag: "02527d07ba1522979a8833cdaa6f2f69"
x-archive-orig-x-runtime: 165ms
x-archive-orig-content-length: 24552
x-archive-orig-cache-control: private, max-age=0, must-revalidate
x-archive-guessed-content-type: text/html
x-archive-guessed-charset: utf-8
memento-datetime: Sun, 14 Feb 2010 11:56:12 GMT
link: ; rel="original", ; rel="timemap"; type="application/link-format", ; rel="timegate", ; rel="first memento"; datetime="Sun, 14 Feb 2010 11:56:12 GMT", ; rel="memento"; datetime="Sun, 14 Feb 2010 11:56:12 GMT", ; rel="last memento"; datetime="Sun, 14 Feb 2010 11:56:12 GMT"
content-security-policy: default-src 'self' 'unsafe-eval' 'unsafe-inline' data: blob: archive.org web.archive.org web-static.archive.org wayback-api.archive.org athena.archive.org analytics.archive.org pragma.archivelab.org wwwb-events.archive.org
x-archive-src: TLA-20100214095701-00702-ia360920-c/TLA-20100214111705-00803-ia360906.us.archive.org.warc.gz
server-timing: captures_list;dur=0.603644, exclusion.robots;dur=0.022795, exclusion.robots.policy;dur=0.009753, esindex;dur=0.012469, cdx.remote;dur=10.334359, LoadShardBlock;dur=176.839879, PetaboxLoader3.datanode;dur=66.679725, PetaboxLoader3.resolve;dur=212.273195, load_resource;dur=182.546671
x-app-server: wwwb-app217
x-ts: 200
x-tr: 472
server-timing: TR;dur=0,Tw;dur=0,Tc;dur=0
x-location: All
x-rl: 0
x-na: 0
x-page-cache: MISS
server-timing: MISS
x-nid: DigitalOcean
referrer-policy: no-referrer-when-downgrade
permissions-policy: interest-cohort=()
content-encoding: gzip
tekkub's github-gem-builder at master - GitHub
This service is courtesy of Pledgie.
tekkub / github-gem-builder forked from pjhyett/github-gem-builder
- Source
- Commits
- Network (3)
- Issues (0)
- Downloads (0)
- Wiki (1)
- Graphs
-
Branch:
master
click here to add a description
click here to add a homepage
-
Branches (1)
- master ✓
- Tags (0)
Sending Request…
Enable Donations
Pledgie Donations
Once activated, we'll place the following badge in your repository's detail box:
The scripts used to build RubyGems on GitHub — Read more
name | age | message | |
---|---|---|---|
![]() |
README | Fri Oct 24 16:14:00 -0700 2008 | Initial commit of gem builder [pjhyett] |
![]() |
gem_builder.rb | Loading commit data... ![]() |
|
![]() |
gem_eval.rb | ||
![]() |
gem_eval_test.rb | ||
![]() |
git_mock | Fri Oct 31 23:33:06 -0700 2008 | moved all system commands outside of fork so se... [coderrr] |
![]() |
lazy_dir.rb | Sun Nov 02 16:25:30 -0800 2008 | made base glob dir more specific sped up gem_ev... [coderrr] |
![]() |
lazy_dir_test.rb | Sun Nov 02 16:25:30 -0800 2008 | made base glob dir more specific sped up gem_ev... [coderrr] |
![]() |
security.rb | ||
![]() |
security_test.rb | Fri Oct 31 05:30:23 -0700 2008 | remove debug comments [coderrr] |
README
GitHub's Gem Evaler ------------------- Help make GitHub's gem build process more secure and robust! There are two components associated with this: * gem_builder.rb - Script that builds the gem * gem_eval.rb - Sandboxed Sinatra app that evals ruby gemspecs gem_builder.rb works as follows: 1) process() is called with a repository object and the path to the gemspec 2) If the spec is not in YAML, a request is made to the gem evaler (see below how it works) 3) A Gem::Specification object is created from the YAML gemspec and renamed with the user's login 4) The gem is built from the Gem::Specification using a monkey-patched version of RubyGems, so instead of grabbing the files from the filesystem, they're grabbed from the git repo gem_eval.rb works as follows: 1) Receives a request with the repo location and the ruby gemspec 2) Makes a shallow clone of the repo and chdir's to that repo 3) Evals the spec in a separate thread with a higher $SAFE level 4) Converts spec to YAML Goals ----- * Lower the $SAFE level to allow methods like Dir.glob, but without compromising security. * Never get another email from someone wondering why their gem didn't build